Я использую в проекте подсветку MVVM, и у меня есть ListView в NoteListPage. В ListView я определяю 2 MenuFlyoutItem, я хочу связать каждый из них с командой, которую я создал в моей модели просмотра.
Вот некоторые подробности в моем NoteListPage.xaml:
DataContext="{Binding NoteListPage, Source={StaticResource Locator}}">
В моей модели просмотра у меня есть:
public ObservableCollection<Note> NoteList
{
get { return _noteList; }
set { Set(() => NoteList, ref _noteList, value); }
}
public ICommand DeleteComamand { get; private set; }
public ICommand EditCommand { get; private set; }
Я привязываю ItemSource к NoteList,
<ListView x:Name="NoteListView" ItemsSource="{Binding NoteList}">
<ListView.ItemTemplate>
<DataTemplate>
<Border
BorderBrush="White"
BorderThickness="2"
CornerRadius="5"
Width="360"
Margin="10,5"
Tapped="Border_Tapped">
<FlyoutBase.AttachedFlyout>
<MenuFlyout>
<MenuFlyoutItem Text="Delete"
/>
<MenuFlyoutItem Text="Edit"
/>
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
<StackPanel >
<TextBlock
FontSize="30" Text="{Binding NoteTitle}"/>
<TextBlock
FontSize="25"
TextWrapping="Wrap" Text="{Binding NoteContent}"/>
</StackPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
но тогда я не могу привязать команду MenuFlyoutItem, потому что контекст данных имеет тип Model.
Как я могу привязать DeleteComamand и EditCommand к MenuFlyoutItem, но в этом случае ListView ItemSource по-прежнему привязан к NoteList? В противном случае на странице просмотра списка не будет отображаться заголовок / содержимое элемента.