8

Próbuję pokazać prosty Flyout (z treścią informacyjną), gdy wciśnięty jest AppBarToggleButton w BottomAppBar, ale moje rozwiązanie nie działa. :(Pokaż wysuwanego przy użyciu BottomAppBar

To jest mój kod: pojawia

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

Nic .. Czy ktoś może mi pomóc pokazując ten flayout Dziękuję bardzo i przepraszam za mój język angielski :)

Pame?.

+0

Może [to pytanie] (http://stackoverflow.com/q/23326717/2681948) będzie pomóc Ci. – Romasz

+0

@Romasz Dziękuję ale pokażę flayout na AppBarToggleButton kliknij, a nie w AppBarButton .. i nie mogę użyć w taki sam sposób jak AppBarButton .. Nie wiem dlaczego, są oba przyciski na końcu .. – Pame1692

+0

Myślałem, że nie grałem tak dużo, myślę, że jedno rozwiązanie, jeśli nie ma innych, może być [odpowiedzią na to pytanie] (http://stackoverflow.com/a/23523126/2681948) - pokaż Flyout po zdarzeniu Button. Czy próbowałeś tak? – Romasz

Odpowiedz

9

Wszystko jest dość jasno opisane at MSDN (jest również bardzo dobrym przykładem tam):

Nic app uszy, bo paletach wysuwanych otworzy się automatycznie tylko dla przycisków (i AppBarToggleButton nie wynika z Button klasie):

rozwijany dołączony do przycisku otwiera się automatycznie, gdy użytkownik kliknie przycisk. Nie musisz obsługiwać żadnych zdarzeń, aby otworzyć listę rozwijaną. (Dotyczy to również kontroli pochodzące od Buttona, jak AppBarButton

oczywiście można dodać Flyout do dowolnego FrameworkElement ale trzeba będzie go otworzyć ręcznie:

Możesz dołączyć wysuwanym kontrolę na każdym FrameworkElement . przedmiot za pomocą FlyoutBase.AttachedFlyout załączony właściwość Jeśli tak, należy odpowiedzieć na oddziaływanie na FrameworkElement, takich jak nasypowej imprezy i otwórz paletę wysuwaną w kodzie

w XAML. - zdefiniowanie Twój Flyout zasobami i dołączyć go do przycisku:

<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> 

i zdarzeń w kodzie za:

private void AppBarToggleButton_Click(object sender, RoutedEventArgs e) 
{ 
    FlyoutBase.ShowAttachedFlyout((FrameworkElement)sender); 
} 
+0

Dziękuję bardzo! Teraz działa idealnie! :) Dziękuję Ci! – Pame1692