2012-01-15 110 views
2

我的视图模型有一个事件查看模型事件绑定到按钮点击

public class TestViewModel 
{ 
    public event RoutedEventHandler Run; 
} 

我要触发这个事件时,用户视图

上的按钮点击如何在一个视图中的按钮绑定呢?

回答

6

Routed events都是为了控制不查看模型,如果你有什么事情应该在一个按钮来执行单击command会更适合在我看来,它很容易被绑定到Button.Command

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}" /> 
+4

DelegateCommand不内置于WPF的东西。说明。 – 2013-02-28 14:05:25