您好我有两个单选按钮。一男一女。问题是当检查其中一个(例如男性)并且用户试图改变到另一个(女性)时,我向用户显示警告消息。如果他按下确定,radio-button从女性变为男性,一切都可以。但当他按下取消时,无线电按钮也会从女性变为男性。我怎么能阻止这个?是否有任何方法可以禁用radiobutton_checked侦听器并在需要时启用?
男性和女性听众的代码是下一个:
private void NewTrdButtonMale_Checked(object sender, RoutedEventArgs e)
{
//if there are participants for deletion i display a warning message that says that if you change from female to male the deletion will be done
if (newAreParticipantsForDeletion())
{
switch (warningMessage())
{
case "OK":
//nothing useful for you here
break;
case "Cancel":
break;
}
}
else
{
//nothing interesting here
}
}
private void NewTrdButtonFemale_Checked(object sender, RoutedEventArgs e)
{
//it is the same code as the above but it is for female
}
上述方法是无线电按钮的监听器。我想要做的是,如果用户按下取消,则不做任何改变。但这是困难的部分,因为我已经在男性检查听众中,所以已经完成了改变。
答案 0 :(得分:0)
我找到了解决方案。
我必须将下一个代码放到取消选择中。
NewTrdButtonFemale.Checked -= new RoutedEventHandler(NewTrdButtonFemale_Checked);
NewTrdButtonFemale.IsChecked = true;
NewTrdButtonFemale.Checked += new RoutedEventHandler(NewTrdButtonFemale_Checked);
上面的代码禁用了监听器。之后我恢复女性选择,之后我再次启用了听众。