我试图填充TreeView
中的TestExplorerControl
:
我从来没有使用CollectionViewSource
,所以我使用this tutorial来掌握如何在XAML中对ObservableCollection<TestMethod>
进行分组,并将该分组用于我的树视图 - 我在<UserControl.Resources>
中实现了数据模板,因为我希望最终允许用户更改测试重组方式的灵活性:
<CollectionViewSource x:Key="OutcomeGroupViewSource" Source="{Binding Model.Tests}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Result.Outcome" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
<DataTemplate x:Key="TestMethodTemplate" DataType="{x:Type local:TestMethod}">
<StackPanel Orientation="Horizontal">
<Image .../>
<TextBlock .../>
</StackPanel>
</DataTemplate>
<HierarchicalDataTemplate x:Key="OutcomeTemplate" DataType="{x:Type CollectionViewGroup}"
ItemsSource="{Binding Items}"
ItemTemplate="{StaticResource TestMethodTemplate}">
<StackPanel Orientation="Horizontal">
<Image ../>
<TextBlock ../>
<TextBlock ../>
</StackPanel>
</HierarchicalDataTemplate>
然后我为实际的<TreeView>
:
<TreeView Grid.Row="2"
ItemsSource="{Binding Source={StaticResource OutcomeGroupViewSource}, Path=View.Groups}"
ItemTemplate="{StaticResource OutcomeTemplate}" />
此标记有什么问题,TreeView
更新失败? ViewModel显然拥有我需要显示的所有数据(被击中的断点位于当前行,黄色):