在我的应用程序中,我在面板中设置了一些按钮,这些按钮设置为在某些时候折叠,这些按钮具有"CanExecute"
方法的命令绑定。我希望在面板不可见时停止执行"CanExecute"
方法中的逻辑。
如果我看不到按钮,我就不需要花费资源来知道它是否可以执行。
我可以尝试将该面板的可见性绑定到"CanExecute"
方法,但我希望每个按钮都有一个解决方案,所以如果它们不可见则不会浪费时间。
谢谢!
答案 0 :(得分:0)
我认为您可以在按钮不可见时删除命令绑定。
- 注册CommandBinding: myUIelement.CommandBindings.Add(mycommand的);
- 取消注册CommandBinding: myUIelement.CommandBindings.Remove(mycommand的);
- 取消注册所有CommandBindings:myUIelement.CommandBindings.Clear();
醇>
答案 1 :(得分:0)
如果对象类型有参数
,请使用它即。
_someCommand = new RelayCommand(
p => someCommandExecute((someObject)p),
p => p is someObject);
或尝试验证值,如果它没有参数
_someCommand = new RelayCommand(
p => someCommandExecute((someObject)p),
p => someObject != null);
我不确定您是否尝试过这样的事情,但如果您可以发布一些代码示例,那将会有所帮助。
这也可以帮助您https://rachel53461.wordpress.com/2011/05/08/simplemvvmexample/