2012-05-03 95 views
2

性能,反之亦然我是相当新的绑定和WPF,但我已经能够(至少对我有意思)绑定的做一些有趣的东西事件绑定到WPF中

是否anyoine知道如果可以将一个事件(例如SelectionChanged或Click事件等)绑定到一个属性(例如:IsChecked,IsEnabled等)?

我知道我可以绑定属性与路径属性和所有。

回答

2

如果要将事件绑定到Commands,可以通过Attached Behavours来完成。看看this blog关于如何用MVVM Light做到这一点。结合IsEnabled没有多大意义

他们给出的一个例子是:

<Button> 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="Click" > 
      <i:InvokeCommandAction Command="{Binding FooCommand}" /> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 

在视图模型

public MyViewModel() 
{ 
    //set it as a toggle for example 
    FooCommand = new RelayCommand(() => IsChecked = !IsChecked); 
}  

public ICommand FooCommand { get; private set; } 

public bool IsChecked 
{ 
    get { return _isChecked; } 
    set { _isChecked = value; 
     RaisePropertyChanged("IsChecked"); } 
} 
+0

我知道结合的IsEnabled没有意义,但我定义了一个例子。所以这会让我把事件绑定到命令上。我会明天尝试,然后我会回复。有没有办法让我使用Converter或其他任何绑定属性?很抱歉,如此多的问题,但绑定是非常有趣的,但相当混乱 – morcillo

+0

绑定在WPF是真棒...你绑定到命令的原因是,隐喻是相同的。你可以在命令执行内设置另一个属性值。我会更新答案 – aqwert