0

我已经使用 Prism 设置了一个 Windows 商店应用程序。我需要使用命令来通知视图模型的操作,但在这种情况下我不能使用按钮。有没有办法从视图中触发在视图模型中定义的命令,但是以不可知的方式,以便视图/视图模型不紧密耦合?

4

2 回答 2

2
if(command.CanExecute(parameter))
    command.Execute(parameter);
于 2013-06-25T01:50:52.450 回答
1

如果您想将调用命令放在代码后面,您可以按照 Aron 的建议进行操作。

如果你不喜欢后面的代码或者很难有后面的代码,比如 DataTemplate,你应该考虑什么条件触发命令。如果您的命令是由某个事件触发的,您可以像下面这样使用 Prism,您也可以选择 Prism 内置的其他一些触发器或自己编写触发器。

<i:Interaction.Triggers>
    <i:EventTrigger EventName="FrameworkElement.Loaded">
        <i:InvokeCommandAction Command="{Binding LoadCommand}" />
    </i:EventTrigger>
</i:Interaction.Triggers>

如果你有更复杂的逻辑,你可以写一个带有 ICommand DependencyProperty 的 Behavior。将您在 ViewModel 上的命令绑定到 DependencyProperty 并在您的行为中使用它。

于 2013-06-25T02:45:30.157 回答