我的 Viewmodel 有一个事件
public class TestViewModel
{
public event RoutedEventHandler Run;
}
当用户单击视图中的按钮时,我想触发此事件
如何将此与视图中的按钮绑定?
我的 Viewmodel 有一个事件
public class TestViewModel
{
public event RoutedEventHandler Run;
}
当用户单击视图中的按钮时,我想触发此事件
如何将此与视图中的按钮绑定?
路由事件适用于控件而不是视图模型,如果您有一些应该在单击按钮时执行的内容,我认为命令会更合适,它可以很容易地绑定到Button.Command
.
我认为,您应该将 DelegateCommand 用于此类行为。
在您的视图模型中:
private DelegateCommand _runCommand;
public DelegateCommand RunCommand
{
get
{
if (_runCommand == null)
_runCommand = new DelegateCommand(Run, CanRun);
return _runCommand;
}
}
void Run()
{
...
}
bool CanSaveAction()
{
return true;
}
在您的页面上:
<Button Command="{Binding RunCommand}" />