1
我在項目中使用MVVM燈,並且我在NoteListPage中有一個ListView。在ListView中,我定義了2個MenuFlyoutItem,我想將每個都綁定在我的視圖模型中創建的命令。XAML MenuFlyoutItem命令在ListView中綁定
這裏是我的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.Note
我如何可以綁定DeleteComamand和EditCommand到MenuFlyoutItem,但ListView控件的ItemSource仍難免NoteList在這種情況下?否則,列表視圖頁面不會顯示任何項目標題/內容。
是,這個解決我的問題! –