2016-07-13 5 views
0

Я пытаюсь реализовать меню Flyout в приложении Windows 10 (используя MVVM), который открывается при удержании элемента GridView. Я искал, и мне не удалось найти никаких примеров, которые будут работать для меня. Меню «Всплывающее меню» не открывается для отображения параметров. Кто-нибудь знает, как я могу это сделать?Меню вылета в UWP с 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> 

Примечание: Решение найдено в https://marcominerva.wordpress.com/2013/12/17/using-a-behavior-to-open-attached-flyouts-in-winows-81-store-apps/

+0

это ваш код? Как мы можем отладить эту проблему? –

+1

Прошу прощения, я забыл вставить его – miguelangelcv

+0

Благодарим за обновление –

ответ

1

Я думаю, что вы хотите, чтобы установить это StackPanel.Flyout вместо FlyoutBase

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

В качестве альтернативы, если это не работает для вас может быть нацелена на 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

Я пробовал оба, и я получаю следующее сообщение об ошибке: Участник «Flyout» не распознается или недоступен. Я нашел решение, создав действие: https://marcominerva.wordpress.com/2013/12/17/using-a-behavior-to-open-attached-flyouts-in-winows-81-store-apps/Спасибо, в любом случае :) – miguelangelcv

Смежные вопросы