这似乎是一个愚蠢的问题,但我查看了 prism 的文档并搜索了互联网,但找不到示例......这是交易。
我在 Prism 中使用 DelegateCommand,它工作正常,除非我将委托分配给 CanExecute 方法。在另一个视图模型中,我有一个事件,它需要一个我正在发布的布尔值,我可以看到该事件正在触发,并且布尔值正在通过其中的命令传递给我的视图模型没问题,但这就是我所做的'不明白……execute怎么知道状态变了?这是示例的一些代码。
从视图模型ctor
eventAggregator.GetEvent<NavigationEnabledEvent>().Subscribe(OnNavigationEnabledChange, ThreadOption.UIThread);
NavigateCommand = new DelegateCommand(OnNavigate, () => nextButtonEnabled);
现在 - 这是 OnNavigationEnableChange 事件。
private void OnNavigationEnabledChange(bool navigationState)
{
nextButtonEnabled = navigationState;
}
enter code here
就像 - 我在这里完全遗漏了一些东西 - 命令如何知道 nextButtonEnabled 不是真的?
如果有人可以向我指出一个很棒的工作示例。
好,谢谢!