wpf标签控件中断选择更改

问题描述 投票:0回答:1

我得到了这个问题。

我的应用程序有一个标签,我检查配置是否保存:如果没有保存,我显示一个消息,并强制选择标签,以管理用户在实际标签。

这是我的代码:

TAB_PAGES fPageSelected = TAB_PAGES.NONE;
private void TcMain_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
    bool forceSelection = false;
    if (e.OriginalSource == tcMain)
    {
        if (fPageSelected != (TAB_PAGES)tcMain.SelectedIndex)
        {
            if (!tiConfig.IsSelected)
            {
                // is this case!
                if (cfg.CheckControlsChanged())
                {
                    ShowMessage("Warning", "Please save the controls setup!");
                    e.Handled = true;
                    forceSelection = true;
                }
            }
        }
        fPageSelected = (TAB_PAGES)tcMain.SelectedIndex;
    }

    if (forceSelection)
    {
        tiConfig.IsSelected = true;
        fPageSelected = TAB_PAGES.CONFIG;
    }
}

奇怪的行为是:第一次,我改变了我的配置,按了另一个标签。我改变了我的配置,按下另一个标签项,上面的代码工作,显示消息并结束... ...

但第二次,如果我重新按另一个标签项,它又会显示消息,但事件在循环中进行:在我的例子中,tcConfig是索引1:如果我按索引2,它被无限次地用以下方法发射 SelectedIndex = 2

任何想法如何解决这个问题?

谢谢

.net wpf visual-studio-2019 mahapps.metro
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.