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

时间:2011-02-11 11:16:24

标签: 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();
    }

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

2 个答案:

答案 0 :(得分:10)

尝试这样的事情:

tabControl1.Items.Insert(tabControl1.Items.Count-1,ti); 

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

然后按

选择第二个最后一个
tabControl1.SelectedIndex=tabControl1.Items.Count-2;

答案 1 :(得分:0)

未经测试,但以下情况应该有效:

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