2011-08-09 57 views
1

有兩種輻射功能按鈕。在每個我都設置了事件處理程序的選中和未選中。當選中radio1並且設置radio2時,取消選中radio1的事件處理程序不會運行,只有檢查radio2的事件處理程序。我怎樣才能運行它們?wpf中的輻射功能事件

回答

1

這些事件僅反映用戶交互,如果要捕獲所有可能想要將兩個RadioButton上的IsChecked綁定到相應屬性的更改,則可以訂閱PropertyChanged事件以獲取所有更改。 (您當然需要實現INotifyPropertyChanged,或者您可以綁定到新的依賴屬性,您可以在其中註冊屬性已更改的回調)。

即使簡單:

var desc = DependencyPropertyDescriptor.FromProperty(RadioButton.IsCheckedProperty, typeof(RadioButton)); 
desc.AddValueChanged(_radioButton1, (_,__) => 
    { 
     var isChecked = (bool)_radioButton1.IsChecked; 
     //... 
    });