我需要一个包含项目的上下文菜单: 删除行,插入行
我需要在不同的网格中显示这些上下文菜单项。但是,这些选项的行为基于选定的网格数据源。
是否存在修复此问题的通用方法,而不会破坏MVVM?
我在做的是: 创建自定义上下文菜单并公开每个上下文菜单项的依赖项属性。因此,它们可以在每个网格中单独绑定。
我们还有其他方法可以解决这个问题吗?
答案 0 :(得分:1)
答案是42。
笑话!!!
由于您尚未发布任何代码,我会发布一些代码。
这是为单元格创建ContextMenu的方法。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text={Binding}>
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="Copy"/>
<MenuItem Header="Paste"/>
<MenuItem Header="Clear"/>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
您可以根据需要配置每个MenuItem,例如附加每个MenuItem的依赖项属性或从每个项目触发附加事件或订阅click事件。