我来自WinForms背景,我不知道如何以WPF / MVVM方式处理此问题。在主窗体中有一个包含上下文菜单的DataGrid。 DataGrid包含来自主窗体的ViewModel中的ObservableCollection的数据。
<DataGrid AutoGenerateColumns="False" Margin="0 10" Grid.Row="1" x:Name="dataGrid">
<DataGrid.Columns>
<DataGridTextColumn Header="Page" Binding="{Binding Path=PageCurrent}"/>
<DataGridTextColumn Header="Pages" Binding="{Binding Path=PageCount}"/>
<DataGridTextColumn Header="Start" Binding="{Binding Path=NumberingStart}"/>
<DataGridTextColumn Header="End" Binding="{Binding Path=NumberingEnd}"/>
<DataGridTextColumn Header="Line 1" Binding="{Binding Path=Line1}"/>
<DataGridTextColumn Header="Line 2" Binding="{Binding Path=Line2}"/>
</DataGrid.Columns>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Insert Before">
<MenuItem Header="Automatic Numbering"/>
<MenuItem Header="Data" />
</MenuItem>
<MenuItem Header="Insert After">
<MenuItem Header="Automatic Numbering" />
<MenuItem Header="Data" />
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
</DataGrid>
这里粗略描述了我想要做的事情。从每个上下文菜单项我想触发相同的命令,但具有不同的参数。参数是:
根据第一个参数,将打开一个表单,以便用户可以生成相应的数据,当表单关闭时,数据将被插入到可观察集合中的正确位置(使用参数2和3)
也许我的计划过于复杂或不必要,所以在这种情况下可以随意提出替代方案。
谢谢!
答案 0 :(得分:0)
一个潜在的策略是: