【发布时间】:2019-05-02 01:30:44
【问题描述】:
为什么我的 Listview 菜单项中的命令没有执行?
这是我的 Listview 上的代码
<ListView ItemsSource="{Binding ListDataCorrection}" >
<ListView.View>
<GridView>
<GridViewColumn Header="Validate">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="Update" Margin="5" Cursor="Hand" Command="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ListView}}, Path=DataContext.ValidateCommand}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="Remove" Command="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ListView}}, Path=DataContext.ValidateAllCommand}">
</MenuItem>
</ContextMenu>
</ListView.ContextMenu>
</ListView>
但奇怪的是Gridview里面的ValidateCommand被执行了。
而 MenuItem 中的 Command 不是。
我的绑定有什么问题?
我还检查了命令名称是否正确。如果不是,我应该会收到一条错误消息,指出在 ViewModel 中找不到该命令
谢谢。
【问题讨论】:
标签: c# wpf listview mvvm menuitem