【发布时间】:2014-10-18 06:39:00
【问题描述】:
我在一个按钮上设置了一个命令参数如下:
<hw:ActionButton Content="MC" Command="{Binding ActionCommand}" CommandParameter="{x:Static hw:Action.MemoryClear}" Grid.Row="2" Grid.Column="0" />
命令在类中:
public class ActionCommand : ICommand
{
private readonly CalculatorViewModel _viewModel;
public ActionCommand(CalculatorViewModel viewModel)
{
_viewModel = viewModel;
}
public bool CanExecute(object parameter)
{
return _viewModel != null && parameter is Action;
}
public void Execute(object parameter)
{
_viewModel.ProcessAction((Action)parameter);
}
public event EventHandler CanExecuteChanged;
}
现在我知道命令必须在 ViewModel 中,那么如何将此命令耦合到 ViewModel?我是否只是在 ViewModel 中有一个名为 ActionCommand 的实例,这似乎不起作用,或者我必须做什么?
【问题讨论】:
-
您的视图模型将有一个 ICommand 类型的公共属性(可能命名为 ActionCommand),您可以绑定到该属性。