我已经设置了一个数据绑定的树视图,如下所示:
<TreeView x:Name="TreeGui" ItemsSource="{Binding tree.Folders}" Margin="5" SelectedItemChanged="TreeGui_SelectedItemChanged" BorderBrush="{x:Null}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Folders}">
<TextBlock Text="{Binding Header}" Foreground="{Binding ForeGround}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
如果我启动执行一些工作并相应地更新节点的任务,让它运行完成,我可以展开树并查看正确的标头。
如果我在任务之前或期间展开树,显示的任何标题将不再更新。即使他们的数据发生了变化。
我对 C# 和 WPF 很陌生,所以可能缺少一些基本的东西。请帮我看看它是什么。
解决了!
只有tree
实现了 INotifyPropertyChanged。
我在Folders
中更改了各个项目,以实现INotifyPropertyChanged,并在更新Header
和ForeGround
时发送正确的事件。
感谢您的耐心等待;)