WPF C#以编程方式添加和移动选项卡

Sum*_*Guy 9 c# wpf tabcontrol

我目前正在做一些可能在很多例子中完成的事情.但经过一番搜索,我找不到任何东西.

我正在使用WPF选项卡控件,我正在尝试重新创建一些基本功能(您现在在所有互联网浏览器中看到)通过单击最后列出的选项卡的"+"选项卡添加新选项卡.

我已经在"+"标签中添加了一个新标签.我的问题是,我想在新选项卡之后移动'+'选项卡(因此再次显示其结束选项卡)并将视图切换到刚刚创建的新选项卡.

我想的是:

    void tiNewTab_Add(object sender, EventArgs e)
    {
        int idx = tabControl1.Items.Count;
        tabControl1.SelectedIndex = idx - 1;
        TabItem ti = new TabItemKPI();
        tabControl1.Items.Add(ti);
        tabControl1.Items.MoveCurrentToLast();
    }
Run Code Online (Sandbox Code Playgroud)

...会工作,但没有运气:(

HCL*_*HCL 10

尝试这样的事情:

tabControl1.Items.Insert(tabControl1.Items.Count-1,ti); 
Run Code Online (Sandbox Code Playgroud)

这样做是因为你总是至少有一个TabItem(+ 1)

然后选择第二个最后一个

tabControl1.SelectedIndex=tabControl1.Items.Count-2;
Run Code Online (Sandbox Code Playgroud)