查看模型事件绑定到按钮单击

时间:2012-01-15 18:34:54

标签: c# wpf mvvm event-binding

我的Viewmodel有一个事件

public class TestViewModel 
{
    public event RoutedEventHandler Run;
}

当用户点击视图中的按钮时,我想触发此事件

如何将其与视图中的按钮绑定?

2 个答案:

答案 0 :(得分:6)

Routed events用于控件而非查看模型,如果你有一些东西应该在点击按钮时执行command在我看来会更合适,它很容易绑定到{ {3}}

答案 1 :(得分:1)

我认为,您应该使用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}" />