我有一个显示在DataGrid
内的视图模型。视图模型有11个ICommand
。
因此,如果我们要加载的DataGrid
具有超过100个元素。
总共创建了11 * 100个命令。
加载整个DataGrid
大约需要1分钟。
答案 0 :(得分:4)
通过实例化每个项目的11个命令,您不会将命令与项目关联。无论你有多少项,你都应该有一个命令(或者你的情况下是11)。该命令使用command parameter知道要操作的项目。
将11个命令放在datagrid或window viewmodel中,并从项目视图模型中删除它们。将每个命令的CommandParame绑定到您将调用命令的项目,例如Datagrid中的选定项目。
答案 1 :(得分:1)
WPF动态上下文菜单解决了我的问题.. 您可以在datagrid行上使用ContextMenu.ContextMenuOpening事件来创建命令,同时右键单击Row。See this link for more information
以上链接用于列表..您也可以以相同的方式使用DataGrid
答案 2 :(得分:0)
如果从调试器运行它通常需要很长时间。试试exe。