0

将用户控件集合绑定到 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);
        }
4

1 回答 1

0

如果您必须在代码中执行此操作,则需要检索TabItems 并为它们中的每一个设置标题。像这样的东西:

(tabControl.Items[0] as TabItem).Header = "Title";
于 2012-12-06T14:15:07.963 回答