我有一个视图模型,它显示在一个DataGrid中。视图模型有11个ICommand。
因此,如果我们加载一个包含超过100个元素的DataGrid。总共创建了11*100个命令。
加载整个DataGrid大约需要1分钟。
发布于 2013-03-19 13:56:32
您不会通过为每个项目实例化11个命令来将命令与项目相关联。无论你有多少个项目,你都应该有一个命令(在你的例子中是11个)。该命令通过使用command parameter知道要对哪个项目进行操作。
将您的11个命令放入数据网格或窗口视图模型中,并将它们从项目视图模型中删除。将每个命令的CommandParameter绑定到您将在其上调用该命令的项,例如数据网格中的选定项。
发布于 2013-03-19 21:55:51
WPF动态上下文菜单解决了我的问题..您可以在数据网格行上使用ContextMenu.ContextMenuOpening事件来创建命令,同时右键单击行。See this link for more information
上面的链接是用于列表的,..you也可以以同样的方式用于DataGrid
发布于 2013-03-19 12:59:27
如果从调试器运行它,通常需要很长时间。尝试只使用exe。
https://stackoverflow.com/questions/15491491
复制相似问题