动态TabItems c#Wpf

时间:2011-04-04 13:33:47

标签: c# wpf tabcontrol

我是WPF的新手,我正在创建一个使用TabControl的应用程序。我正在使用DataTemplateSelector,我的数据源是我从XML创建的对象,它具有属性“type”和“categoryID”。我根据“类型”选择我的数据模板,它工作正常,但我还需要在运行时为每个categoryID创建一个tabitem。我的问题是目前它为每个对象创建一个新的TabItem。如何基于categoryID创建新的tabitem并将dataTemplate放在该选项卡上,如果已创建选项卡,则将DataTemplate放在该选项卡上而不是创建新选项卡。

提前致谢!!

1 个答案:

答案 0 :(得分:0)

我最终使用CollectionViewSource进行分组,然后将tabcontrol datacontext设置为CollectionViewSource。

    private void PopulateTabControl()
    {
        DataView = (CollectionViewSource)(this.Resources["DataView"]);
        AddGrouping();            
        tabcontrol.DataContext = DataView;            
    }

    private void AddGrouping()
    {
        PropertyGroupDescription grouping = new PropertyGroupDescription();
        grouping.PropertyName = "categoryID";
        DataView.GroupDescriptions.Add(grouping);
    }