动态设置当前选项卡WPF

时间:2012-12-17 19:53:36

标签: c# wpf tabcontrol

我正在为我的IDE开发一些功能,点击一些treeviewitem,将更改当前显示的选项卡。我想这样做,但没有运气。我究竟做错了什么? 如何设置所需的标签以进行聚焦?

以下是代码:

        void tr_ViewOtherClass(object sender, MouseButtonEventArgs e)
        {
            string tagToView = ((TreeViewItem) sender).Tag.ToString();
            TabItem currentTab = ((TabItem) (tabControl.SelectedItem));
            if (tagToView != currentTab.Tag.ToString())
            {
                TabItem tabToView = null;
                for (int i = 0; i < tabControl.Items.Count; i++)
                {
                    tabToView = ((TabItem) (tabControl.Items[i]));
                    if (tabToView.Tag.ToString() == tagToView)
                        break;
                }
                classCodes[currentTab.Tag.ToString()] = ((TextEditor) currentTab.Content).Text;
                currentTab = tabToView;
            }
        }

2 个答案:

答案 0 :(得分:1)

currentTab变量指定值时,不会修改tabControl.SelectedItem

如果要更改其值,则必须直接指定tabControl.SelectedItem; currentTab等效于指针,修改其值只会修改局部变量指向的值。

答案 1 :(得分:0)

TabItem currentTab

TabItem tabToView
每个都只是局部变量 如果要将更改推送到UI,则需要使用带有通知的tabControl SelectedItem绑定。

TabControl在MVVM中的行为有所不同 我给了非MVVM方式。
MVVM可能是一个更好的方法。