如何防止标签项选择更改事件?

时间:2011-12-27 10:20:36

标签: c# wpf tabcontrol

我正在研究wpf。我的要求是根据用户确认更改选项卡,这意味着每次用户更改选项卡时,消息框都会打开,并与用户确认是否要更改选项卡。

但我的问题是,当我第一次没有按下它工作正常时。但是在第二次之后它会要求用户确认两次

任何人都可以帮我解决这个问题吗?

private void tabcontrol_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
    try
    {
    if (handleSelection  && e.OriginalSource == tbUserProfileMainControl)
        {
         //Ask user for change

         if (isUserAllowedToChanged)
             {
             int currentIndex = (tabcontrol.SelectedIndex);

             GeneralDeclaration.currentSelectedTabIndex = currentIndex;

             LoadUserControl(GeneralDeclaration.currentSelectedTabIndex);
             }
         else
             {
             //e.Handled = true;
             handleSelection = false;
             tbUserProfileMainControl.SelectedIndex = Math.Abs(tbUserProfileMainControl.SelectedIndex - 1);
              }
         }
   handleSelection = true;
   }
   catch (Exception ex)
       {
        //
       }
}

1 个答案:

答案 0 :(得分:0)

听起来您在点击事件期间添加处理程序。这会导致您的后续点击再次执行操作(第3次点击3次,第4次点击4次等)。

检查如何将事件绑定到处理程序并检查您在何处定义处理程序本身。你做了两次只能做一次的事情。

根据你的发现,这是我的估计,没有代码,我只是在黑暗中进行疯狂的刺伤。