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

11

我目前正在处理一个可能已经有很多示例的项目。但是经过一些搜索,我找不到任何类似的内容。

我正在使用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();
    }

尝试过这种方法,但没有成功 :(

2个回答

13

试一下这样:

tabControl1.Items.Insert(tabControl1.Items.Count-1,ti); 
这样做是可行的,因为你总是至少有一个选项卡(即加号选项卡)。然后通过以下方式选择倒数第二个选项卡:
tabControl1.SelectedIndex=tabControl1.Items.Count-2;

0

没有测试过,但是以下应该可以工作:

int idx = tabControl1.Items.Count;
tabControl1.SelectedIndex = idx - 1;
TabItem ti = new TabItem();
tabControl1.Items.Insert(tabControl1.Items.IndexOf(tabControl1.Items.Last()), ti);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接