gpt4 book ai didi

wpf - CollectionViewSource : TreeView not updating, ViewModel 看起来不错

转载 作者:行者123 更新时间:2023-12-01 05:01:30 28 4
gpt4 key购买 nike

我正在尝试填充 TreeViewTestExplorerControl :

Rubberduck TestExplorer WPF control

我从来不用CollectionViewSource直到现在,所以我使用了this tutorial掌握如何对我的 ObservableCollection<TestMethod> 进行分组在 XAML 中,并将该分组用于我的 TreeView - 我在 <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 清楚地具有我需要显示的所有数据(被命中的断点在当前行上,以黄色显示):

debugger with a breakpoint in <code>TreeView_MouseDoubleClick</code> in the control's code-behind, showing a non-null <code>TestExplorerViewModel</code> context with 2 items in <code>Tests</code>

最佳答案

找到了。这是PathItemsSource TreeView 中的绑定(bind):

ItemsSource="{Binding Source={StaticResource OutcomeGroupViewSource}, Path=View.Groups}"
Path=View.Groups满足 IntelliSense,但错误。

必须是 Path=Groups , 即使设计师可能无法解析该属性:

Path=Groups => Cannot resolve property 'Groups' in data context of type 'System.Windows.Data.CollectionViewSource'

关于wpf - CollectionViewSource : TreeView not updating, ViewModel 看起来不错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32282550/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com