2016-07-13 13 views
0

Ich versuche, ein Flyout-Menü in einer Windows 10-Anwendung (mit MVVM) zu implementieren, die beim Zurückhalten eines Elements einer GridView geöffnet wird. Ich habe gesucht und ich konnte keine Beispiele finden, die für mich funktionieren. Das Flyout-Menü wird nicht geöffnet, um Optionen anzuzeigen. Weiß jemand wie ich das machen kann?Flyout-Menü in UWP mit MVVM

<GridView.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
      <FlyoutBase.AttachedFlyout> 
        <MenuFlyout> 
         <MenuFlyoutItem Text="Delete" Command="{Binding DeleteCommand}"/> 
        </MenuFlyout> 
      </FlyoutBase.AttachedFlyout> 
      <Image Source="{Binding Dictionary}" Height="25"/> 
      <TextBlock Text="{Binding Title}" Foreground="White" Width="170"/> 
     </StackPanel> 
    </DataTemplate> 
</GridView.ItemTemplate> 

Hinweis: Lösung in https://marcominerva.wordpress.com/2013/12/17/using-a-behavior-to-open-attached-flyouts-in-winows-81-store-apps/

+0

Wo zielen ist dein Code? Wie können wir dieses Problem beheben? –

+1

Es tut mir leid, ich habe vergessen, es einzufügen – miguelangelcv

+0

Vielen Dank für die Aktualisierung –

Antwort

1

gefunden Ich denke, was Sie einstellen möchten StackPanel.Flyout statt FlyoutBase ist

<GridView.ItemTemplate> 
    <DataTemplate> 
     <StackPanel Orientation="Horizontal"> 
      <StackPanel.Flyout> 
        <MenuFlyout> 
         <MenuFlyoutItem Text="Delete" Command="{Binding DeleteCommand}"/> 
        </MenuFlyout> 
      </StackPanel.Flyout> 
      <Image Source="{Binding Dictionary}" Height="25"/> 
      <TextBlock Text="{Binding Title}" Foreground="White" Width="170"/> 
     </StackPanel> 
    </DataTemplate> 
</GridView.ItemTemplate> 

Alternativ, wenn dies nicht für Sie arbeiten Sie kann das GridViewItem.Flyout

<GridView> 
    <GridView.Resources> 
     <Style TargetType="GridViewItem"> 
      <Setter Property="Flyout"> 
      <Setter.Value> 
       <MenuFlyout> 
        <MenuFlyoutItem Text="Delete" Command="{Binding DeleteCommand}"/> 
       </MenuFlyout> 
      </Setter.Value> 
      </Setter> 
     </Style> 
</Gridview.Resources> 
+1

Ich habe beide versucht und ich bekomme den folgenden Fehler: Das Mitglied "Flyout" wird nicht erkannt oder ist nicht zugänglich. Ich habe eine Lösung gefunden, indem ich eine Aktion erstellt habe: https://marcominerva.wordpress.com/2013/12/17/using-a-behavior-to-open-attached-flyouts-in-winows-81-store-apps/Danke trotzdem :) – miguelangelcv