c# - WPF Treeview项目选择问题

标签 c# wpf treeview

alt text

我的应用程序中有Treeview(如上所示),我已将它与集合绑定(bind)... 现在的问题是,每当我扩展 Colorodo 时,默认情况下 Aspen 应该被选中,这意味着每当我扩展第一个项目时,Node 应该被选中..

任何想法/建议请

最佳答案

不幸的是,我相信您已经发现,您无法设置 treeViewInstance.SelectedItem 属性,因为它是只读的。

根据内存,每个 TreeViewItem 都有一个您可以设置的 IsSelected 属性。您尝试监听项目的展开/折叠,并可能设置此属性。如果没有亲自尝试过,我不知道这是否是 a) 一个好的解决方案 b) 是否有效。

要获取作为集合中项目的容器的TreeViewItem,请使用

treeViewInstance.ItemContainerGenerator.ContainerFromItem(yourDataItem) as TreeViewItem;

另一个想法(我会这样做)是使用 ListBox/ListView 并伪造分层 View 。创建 View 模型 Controller 和项目,包装数据,并自行管理这一切。如果您想了解更多信息,请发表评论,我将举出一些示例来提供帮助。

HTH,

丹尼斯

关于c# - WPF Treeview项目选择问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1042182/

相关文章:

c# - Razor 中的预处理器指令

c# - 获取用户上次访问时间

wpf - 使用 ListBox(或其他 ItemsControl)托管 Caliburn 演示者

wpf - 在 WPF 全屏应用程序中禁止虚拟触摸屏 Windows 键盘

c# - TreeView 加减图标变大

python - 为什么 Maya 2009 TreeView 控件在拖动时出现语法错误?

c# - 屏幕截图上的窗口没有消失

c# - 是否有更简洁的方法使用 LINQ 将项目添加到集合属性?

c# - 突出显示 RichTextBox 中的一行

c# - wpf mvvm递归树