将一组usercontrols绑定到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);
}
答案 0 :(得分:0)
如果必须在代码中执行此操作,则需要检索TabItem
并为每个代码设置标头。像这样:
(tabControl.Items[0] as TabItem).Header = "Title";