0

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

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

是否有任何通用方法可以解决此问题,而不会破坏 MVVM?

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

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

4

1 回答 1

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 上附加依赖属性或从每个项目触发附加事件,或者订阅单击事件。

于 2013-10-09T07:10:16.680 回答