我有一个ViewModel类,我想响应内置的刷新命令,这是从按钮触发的,但我不知道如何声明CommandTarget。获取非UI对象来响应WPF命令绑定
简单地说,我的代码如下
视图模型构造和CanExecute和执行的事件处理程序 -
public ViewModel()
{
CommandBinding binding = new CommandBinding(NavigationCommands.Refresh, CommandHandler);
binding.CanExecute += new CanExecuteRoutedEventHandler(binding_CanExecute);
binding.Executed += new ExecutedRoutedEventHandler(binding_Executed);
CommandManager.RegisterClassCommandBinding(typeof(ViewModel), binding);
}
void binding_Executed(object sender, ExecutedRoutedEventArgs e)
{
Debug.Print("Refreshing...");
}
void binding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}
标记是 -
<Button Command="Refresh">refresh</Button>
现在,我已经试过设置在这个按钮上的CommandTarget到{Binding Source={StaticResource ViewModel}}
,但我得到一个运行时说Cannot convert the value in attribute 'CommandTarget' to object of type 'System.Windows.IInputElement'
。
我是新来的命令,所以这是完全可能的我在这里是各种各样的错误。任何帮助,将不胜感激。
谢谢肯特。这有助于 – Stimul8d 2009-03-03 12:07:58