WPF TabItem Tittle由Frame内部控制

时间:2015-08-06 22:07:57

标签: c# wpf

我有一个TabConrol,当用户执行某些操作时,会以编程方式添加新的TabItem。在此标签中,有一个Frame,其中包含所需的Page.XAML。这一切都像这样完美;

private void addNewTab()
{
    TabItem tab = new TabItem();
    Grid g = new Grid();
    Frame f = newFrame();
    g.Children.Add(f);
    tab.Content = g;
    tab.Title = "Hard Coded Title"
    MyTabControl.Items.Add(tab);
    MyTabControl.SelectedItem = tab;
}

private Frame newFrame()
{
   Frame f = new Frame();
   //Full logic for Frame removed
   f.Navigate(new MyPage());
   return f;
}

正如您所看到的,TabItem的标题是硬编码的。我想要的是Page.XAML可以控制TabItem标题。我认为这样的事可能有用;

Binding bind = new Binding("Title");
bind.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
bind.NotifyOnSourceUpdated = true;
bind.NotifyOnTargetUpdated = true;
bind.Mode = BindingMode.TwoWay;
tab.DataContext = f;
tab.SetBinding(TextBlock.TextProperty, bind);

这根本不起作用。我完全错了吗?我的绑定是不正确的。任何帮助都会很棒!

0 个答案:

没有答案