gpt4 book ai didi

c# - 如何使 TreeView 和 ListBox 的 SelectedItem 保持同步?

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:40 24 4
gpt4 key购买 nike

我敢肯定这以前出现过,但我一直没能找到答案。

我制作了一个基本的 ViewModel,其中包含一个人员列表(一个人员数组),它具有一个名为 SelectedPerson 的属性,它自然地指向人员列表中当前选定的人员。我还有一个 ListBox 和一个 TreeView,它们数据绑定(bind)到 ViewModel 的人员列表。

我想做的是使 ListBox 的 SelectedValue 和 TreeView 的 SelectedItem 与 ViewModel 的 SelectedPerson 保持同步。这个想法是,无论 SelectedPerson 如何修改(通过控件、通过代码等),所有控件都应该正确地 self 更新。我可以让它与两个 ListBox 一起工作,这很好,但我无法让它与 ListBox 和 TreeView 一起工作,因为 TreeView 的 SelectedItem 是只读的并且显然无法通过 XAML 获得。

我应该从哪里获得有关实现这项工作的想法?

另请注意,我正试图在纯 XAML 中完成这项工作。没有代码隐藏,因为我的应用程序中的 XAML 文件可以动态加载和更改。

谢谢!

最佳答案

您可以使用 Selector.IsSyncronizedWithCurrentItem。

您可以将 listbox 和 treeview 绑定(bind)到同一个数据源,并确保 IsSyncronized 参数设置为 true。然后对一个中的当前项所做的任何更改都会反射(reflect)在另一个中。

更多信息可以在这里找到:

link text

关于c# - 如何使 TreeView 和 ListBox 的 SelectedItem 保持同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/928350/

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