2012-05-03 148 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