问题标签 [treeviewitem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2739 浏览

wpf - WPF:获取 TreeViewItem 的组成控件

如果它们位于分层数据模板中,如何在代码中获取组成 TreeViewItem 的组成控件?

因此,以编程方式,当我获得一个以 TreeViewItem 作为源的事件时,我希望能够获得 local:RenamingNode,但我无法获得 TreeViewItem 的后代。

谢谢,

伊利亚

0 投票
1 回答
595 浏览

silverlight - 在新创建的项目上获取 TreeViewItem

必须有比以下更好的方法来获取“childItem”

由于某种原因 item.ItemGenerator.ContainerFromItem(child) 不起作用(必须是由于刚刚创建的项目)

0 投票
1 回答
13153 浏览

wpf - WPF - 为每个具有样式的 TreeViewItem 根节点设置不同的 ToggleButton 图像

我不熟悉在 WPF 中使用样式、资源和模板。我需要做的是将 TreeView 中的 ToggleButton +/- 覆盖为图像,每个 TreeViewItem 根节点都有不同的图像。例如,我想要一张汽车图像作为“汽车”节点,一张飞机图像作为“飞机”节点。我有每个的彩色和灰度图像(用于展开/折叠)。

我找到了覆盖树视图并为切换按钮设置图像的样式,但我不确定为每个项目设置不同样式的最佳方法。

一个项目的样式代码很长,所以我很确定有比复制/粘贴完整样式更好的方法来更改源属性。

有人可以为我指出正确的方向吗?

谢谢你。

这是我一直在使用的风格,它是从不同的帖子中复制的,并针对我的图像进行了更改。

0 投票
2 回答
1615 浏览

c# - 已处理的 RoutedEvent 继续冒泡树

我正在开发一个TreeView基于控件,我的双击事件继续冒泡我的TreeViewItem节点。

目标是在TreeViewItem双击时展开或折叠。

我有一种将事件的事件处理程序应用于MouseDoubleClick每个TreeViewItem.

这是处理事件的代码

这适用于顶层,TreeViewItem但是当双击一个子项时,事件会在树上冒泡,导致整个分支崩溃。为什么事件继续冒泡?如前所述,[1]我将事件设置为已处理。

0 投票
1 回答
413 浏览

c# - 有没有办法将命令绑定到树视图中所有 TreeViewItems 的折叠事件?

我正在尝试做类似于这个问题中的人想做的事情。

没有比那里建议的解决方法更优雅的方法来做到这一点?

(作为最后的手段)是否有不同的 mvvm 框架可以更好地支持这样做?

现在我正在尝试制作一个从树视图继承的自定义控件,如下所示:

然后,我会将要触发的命令绑定到 ItemCollapsedCommand 依赖属性。然而,即使这样也行不通。

我不断收到一条InvalidOperationException消息:“调度程序处理已暂停,但消息仍在处理中。”

有任何想法吗?

0 投票
2 回答
1148 浏览

c# - Wpf-如何获取触发 TreeViewItem.Loaded 事件的 TreeViewItem?

我试图在TreeViewItem加载时为每个处理程序附加一些处理程序,然后在卸载处理程序时删除它们。

这是我在自定义控件中继承的代码TreeView

编辑:

我仍然无法弄清楚发生了什么。它似乎只是在拾取TreeView 加载的事件而不是TreeViewItem加载的事件。

0 投票
1 回答
502 浏览

wpf - 修改或“调整”现有的 TreeViewItem 控件模板?

好的...这里有点像两部分。(有点。实际上可能只是一个。这就是我所希望的。)

首先,更一般地说,是否可以仅通过 XAML 定位控件模板中的命名项?例如,如果一个控件的模板有一个名为“PART_Foo”的 ContentPresenter,并且我们想通过纯样式专门将该特定项目上的 Horizo​​ntalAlignment 设置为“Stretch”,可以做到吗?我知道我们可以在子类的 OnApplyTemplate 覆盖中执行此操作,在该子类中我们通过名称显式搜索控件,然后在代码中设置属性,但同样,我们希望有一个仅限 XAML 的解决方案,因此我们可以通过样式严格执行此操作而不是子类,除了特定的用例场景外,大多数情况下都不鼓励使用子类。

此外,我们希望手动指定控件的模板,因为我们希望当前主题确定该模板是什么以及控件的显示方式。我们只想说'在主题选择的任何模板中,如果有一个名为'foo'的部分,请通过纯样式在其上设置此属性。如果找不到具有该名称的零件,则什么也不做!

对仅 XAML 方法的渴望更多是因为第二部分,即我们针对的是生成的容器对象,而不是控件本身,这意味着它无论如何都不会是一个直接的子类,因为我们不得不四处乱逛使用 ItemcontainerGenerators 等,这在 a$$ 中是一个真正的痛苦,尤其是当 ItemsControl 被虚拟化时。

具体来说,我们的最终目标是在 TreeView 的 TreeViewItem 模板中挑出名为“Bd”的边框,并将其附加属性“Grid.ColumnSpan”设置为“2”,而不是默认的“1”。而已!令我惊讶的是,如果不手动替换整个 TreeViewItem 的模板或诉诸基于代码隐藏的解决方案,那么如此简单的事情似乎几乎是不可能的。

0 投票
1 回答
420 浏览

.net - 如何将全局样式应用于 App.xaml 中的 wpf 树视图

我找到了以下代码,用于在焦点离开时在树视图中显示所选项目,但我无法将代码移动到 App.xaml,因此任何 UserControl 都可以使用它。

这做我想要的

但我不知道如何从中做出风格。我尝试了以下方法,这些接缝在语法上是正确的

并在用户控件中

在某一时刻,UserControl 代码识别出该样式,但目前它显示“资源 TreeStyle 无法解析”。
我究竟做错了什么?
我是否需要确定 TreeStyle 的范围,因为它位于不同(父)命名空间的 App.xaml 中?一旦我使用样式得到它,设置其他属性的语法是什么?

0 投票
1 回答
4765 浏览

wpf - 数据绑定后的 WPF TreeViewItem 标头值

我有一个 TreeView,其内容(嵌套的 TreeViewItems)是通过数据绑定从数据集生成的,这一切似乎都工作正常。我遇到的问题是,当我尝试在代码中操作 TreeViewItem 标头的内容时,Header 属性返回生成 TreeViewItem 的 DataRowView,而不是像我预期的那样由模板生成的控件。

这是我用来生成 TreeViewItems 的模板示例:

谁能指出我哪里出错并建议我如何访问标题复选框(如果可能的话,最好不要深入研究 VisualTree)?

谢谢,詹姆斯

0 投票
3 回答
22853 浏览

wpf - WPF 双击 TreeviewItem 子节点

我在树视图中有一个树视图项目,它将绑定一个列表:

我无法弄清楚如何让每个孩子都有双击事件。

任何帮助表示赞赏。非常感谢。