8

Sto tentando di mostrare un semplice Flyout (con contenuto informativo) quando viene premuto un AppBarToggleButton in BottomAppBar, ma la mia soluzione non funziona. :(Mostra flyout utilizzando BottomAppBar

Questo è il mio codice: appare

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

Niente .. Qualcuno mi può aiutare a mostrare questo flayout ringrazio molto e scusa per la mia lingua inglese :)

Pame?.

+0

Forse [questa domanda] (http://stackoverflow.com/q/23326717/2681948) sarà Aiutarti. – Romasz

+0

@Romasz Grazie, ma mostrerò il flayout sul click AppBarToggleButton e non su un AppBarButton .. e non posso usare lo stesso modo usato per AppBarButton .. Non so perché, ci sono entrambi i pulsanti alla fine .. – Pame1692

+0

Pensavo, non ho giocato così tanto, immagino che una soluzione se non ce ne sono altri forniti, potrebbe essere [la risposta a questa domanda] (http://stackoverflow.com/a/23523126/2681948) - mostra Flyout sul tuo evento Button. Hai provato in questo modo? – Romasz

risposta

9

Tutto è chiaramente descritto at MSDN (v'è anche un ottimo esempio lì):

Niente app orecchie, perché flyouts aprono automaticamente solo per i pulsanti (e AppBarToggleButton non deriva da Button classe):

Un comparsa associato a un pulsante si apre automaticamente quando l'utente preme il pulsante. Non è necessario gestire alcun evento per aprire il flyout. (Questo include i controlli derivati ​​da Button, come AppBarButton

Naturalmente è possibile aggiungere un Flyout a qualsiasi FrameworkElement, ma si dovrà aprire manualmente:

È possibile allegare un controllo Flyout a qualsiasi FrameworkElement . oggetto utilizzando la proprietà FlyoutBase.AttachedFlyout allegato in tal caso, è necessario rispondere ad un'interazione sul FrameworkElement, come ad esempio l'evento sfruttato, e aprire la bandierina nel codice

in XAML -. definire il tuo Flyout in Risorse e allegarlo al pulsante:

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

E evento nel codice dietro:

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

Grazie mille! Ora funziona perfettamente! :) Grazie! – Pame1692

Problemi correlati