wpf datagrids的常用上下文菜单

时间:2013-10-09 04:32:05

标签: c# wpf mvvm datagrid

我需要一个包含项目的上下文菜单: 删除行,插入行

我需要在不同的网格中显示这些上下文菜单项。但是,这些选项的行为基于选定的网格数据源。

是否存在修复此问题的通用方法,而不会破坏MVVM?

我在做的是: 创建自定义上下文菜单并公开每个上下文菜单项的依赖项属性。因此,它们可以在每个网格中单独绑定。

我们还有其他方法可以解决这个问题吗?

1 个答案:

答案 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事件。