سؤال

أحاول إظهار قائمة منبثقة بسيطة (مع محتوى إعلامي) عند الضغط على AppBarToggleButton داخل BottomAppBar، لكن الحل الخاص بي لا يعمل.:(

هذا هو الكود الخاص بي:

<Page.BottomAppBar>
        <CommandBar>
            <AppBarToggleButton x:Uid="MapPageAppBarLegend" Label="" Icon="List">
                <FlyoutBase.AttachedFlyout>
                    <Flyout>
                        <TextBlock Text="Informations here..."/>
                    </Flyout>
                </FlyoutBase.AttachedFlyout>
            </AppBarToggleButton>
        </CommandBar>
</Page.BottomAppBar>

لا شيء يظهر..هل يمكن لأحد أن يساعدني في إظهار هذه المهارة؟شكرا جزيلا لك وآسف على لغتي الإنجليزية.:)

بام

هل كانت مفيدة؟

المحلول

تم وصف كل شيء بوضوح تام في MSDN (يوجد أيضًا مثال جيد جدًا هناك):

لا شيء يظهر، لأن القوائم المنبثقة يفتح تلقائيًا فقط للأزرار (و AppBarToggleButton لا ينبع من Button فصل):

يتم فتح القائمة المنبثقة المرفقة بالزر تلقائيًا عندما ينقر المستخدم على الزر.لا تحتاج إلى التعامل مع أي أحداث لفتح القائمة المنبثقة.(يتضمن ذلك عناصر التحكم المشتقة من Button، مثل AppBarButton

بالطبع يمكنك إضافة أ Flyout لأي FrameworkElement ولكن سيتعين عليك فتحه يدويًا:

يمكنك إرفاق عنصر تحكم Flyout بأي كائن FrameworkElement باستخدام الخاصية المرفقة FlyoutBase.AttachedFlyout.إذا قمت بذلك، فيجب عليك الاستجابة للتفاعل على FrameworkElement، مثل حدث Tapped، وفتح القائمة المنبثقة في التعليمات البرمجية الخاصة بك.

في XAML - حدد ملفك Flyout في الموارد وإرفاقه بالزر:

<Page.Resources>
    <Flyout x:Key="myFlyout" Placement="Top">
        <TextBlock Text="Informations here..."/>
    </Flyout>
</Page.Resources>
<Page.BottomAppBar>
    <CommandBar>
        <AppBarToggleButton x:Uid="MapPageAppBarLegend" Label="First" Icon="List"
                            FlyoutBase.AttachedFlyout="{StaticResource myFlyout}"
                            Click="AppBarToggleButton_Click"/>                
    </CommandBar>
</Page.BottomAppBar>

والحدث في الكود خلف:

private void AppBarToggleButton_Click(object sender, RoutedEventArgs e)
{
    FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender);  
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top