【发布时间】:2016-10-26 15:07:48
【问题描述】:
我的 VM 公开了一个名为“Results”的属性,它是“Result”对象的 ObservableCollection:
public class Result
{
public string CategoryName { get; set; }
public string Description { get; set; }
}
只有少数独特的类别,但每个类别中可以有许多单独的结果。
在我的 XAML 中,我将此属性包装在 CollectionViewSource 中,并在“CategoryName”上应用分组:
<UserControl.Resources>
<CollectionViewSource x:Key="resultsCollection"
Source="{Binding Results}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="CategoryName" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</UserControl.Resources>
我想做的(假设可能)是创建一个TabControl,每个类别都有一个选项卡,并且选项卡的标题文本设置为 CategoryName。在每个 TabItem 中,我想要一个 ItemsControl,简单地填充每个项目的描述(属于该类别)。
目前,我什至在努力让标签项启动并运行。我得到的最接近的是:
<TabControl ItemsSource="{Binding Source={StaticResource resultsCollection}}">
<TabControl.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</TabControl.GroupStyle>
</TabControl>
假设我什至走在正确的轨道上,所有这些都会产生一个水平列表 TextBlocks 选项卡应该在哪里,但它们不工作,可点击的选项卡。
而且我不知道从哪里开始在每个 TabItem 中获取 ItemsControl!
非常感谢任何帮助。
【问题讨论】: