将用户控件集合绑定到 TabControl 的 ItemsSource 属性很有用。
然而,一旦你走这条路,似乎很难从代码中设置每个 tabitem 的标题。我可以从 xaml 中做到这一点,但我需要从代码中做到这一点。
所以我正在寻找的是类似的东西
TabControl tabControl = new TabControl();
tabControl.ItemsSource = collectionOfUserControls;
tabControl.HeaderPath = "Title" // this property is not available
编辑
如果手动添加到集合中,这就是如何做到这一点。问题是如何在使用 ItemsSource 属性时设置标题。
var vragenlijsten = new UserControl[]
{
new UC1() ,
new UC2(),
};
TabControl tabControl = new TabControl();
foreach (var vragenlijst in vragenlijsten)
{
var tabItem = new TabItem();
tabItem.Content = vragenlijst;
tabItem.Header = vragenlijst.GetType();
tabControl.Items.Add(tabItem);
}