我有一个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);
这根本不起作用。我完全错了吗?我的绑定是不正确的。任何帮助都会很棒!