有两个radiobuttons。在每个我已经设置了Checked和Unchecked的事件处理程序。当选中radio1并且我设置了radio2时,uncheck radio1的事件处理程序不运行,只检查radio2的事件处理程序。我怎么能同时运行它们?
答案 0 :(得分:1)
这些事件仅反映用户交互,如果要捕获可能要将两个RadioButtons上的IsChecked
绑定到相应属性的所有更改,则可以订阅PropertyChanged
事件以获取所有更改。 (您当然需要实现INotifyPropertyChanged
,或者您可以绑定到可以注册属性更改回调的新的dependnecy属性。)
更容易:
var desc = DependencyPropertyDescriptor.FromProperty(RadioButton.IsCheckedProperty, typeof(RadioButton));
desc.AddValueChanged(_radioButton1, (_,__) =>
{
var isChecked = (bool)_radioButton1.IsChecked;
//...
});