我一直在搜索,但无法找到如何实现以下需求。我正在使用 MVVM 创建一个用户控件,并希望在“Loaded”事件上运行一个命令。我知道这需要一些代码来支持,但我还没有完全弄清楚需要哪些代码。该命令位于ViewModel中,而ViewModel被设置为视图的数据上下文,但我不确定如何路由才能从代码后台调用它。基本上,我想要的是这样的东西...
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
//Call command from viewmodel
}
我四处查找,似乎无法找到这个语法的语法。 我需要在xaml中首先绑定命令才能引用它吗? 我注意到用户控件中的命令绑定选项不会像按钮等控件那样允许您绑定命令...
<UserControl.CommandBindings>
<CommandBinding Command="{Binding MyCommand}" /> <!-- Throws compile error -->
</UserControl.CommandBindings>
我相信有一种简单的方法可以做到这一点,但是我想不出来该怎么做。
MyCommand
被定义为特定的MyMethod
时,为什么不直接执行viewModel.MyMethod()
呢?除了当然可以直接调用的CanExecute
之外。 - Gerard