当某些条件不满足时,如何阻止在 Checked 事件上签入的复选框?

我正在使用System.Windows.Controls.CheckBox. 我正在实现OnChecked事件处理程序,如果在处理程序运行后不满足某些条件,我希望取消选中复选框,我应该如何实现处理程序?


xml代码:


<CheckBox  Checked="OnChecked" >Checkbox text</CheckBox>

C#代码:


private void OnChecked(object sender, RoutedEventArgs e)

{

   // Block checkbox being checked if some condition not met

}


隔江千里
浏览 249回答 2
2回答

精慕HU

你可以尝试这样的事情:private void OnChecked(object sender, RoutedEventArgs e){&nbsp; &nbsp; &nbsp;if(*your condition*)&nbsp; &nbsp; &nbsp;{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (sender as System.Windows.Controls.CheckBox).IsChecked = false;&nbsp; &nbsp; &nbsp;}}

慕勒3428872

在 OnChecked 事件处理程序中,您可以添加一个 if 块来检查您的条件是否满足。如果条件不满足,可以清除IsChecked属性。private void OnChecked(object sender, RoutedEventArgs e){&nbsp; &nbsp; if (true) // your condition&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; ((CheckBox) sender).IsChecked = false;&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP