问题标签 [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.
wpf - WPF Treeview 工具提示 - 动态
这是关于 MVVM 和 WPF - 根据 WPF Treeviewitems 上的鼠标位置显示动态工具提示。假设当用户将鼠标悬停在具有一些业务数据的节点上时,它应该显示工具提示。
示例:假设如果我将鼠标悬停在管理器项目上..应该说 -“锁定”,对于其他人“准备编辑”..等等。取决于鼠标悬停在项目数据上。工具提示文本应引导用户执行进一步操作。我正在尝试借助 TreeViewitem 的工具提示打开事件对工具提示文本进行一些 VM 设置,并尝试更新工具提示文本..但面临一些问题。
什么是最好和最简单的方法。尝试过的行为并最终出现一些错误。
代码:
树工具提示行为.cs
在我的视图模型中,我期望处理 ToolTipOpeningCommand 并声明足以通过 Behavior 类获取事件。
有趣的是,上下文菜单行为工作正常,但工具提示行为引发 xaml 解析器异常..
1)我是否在正确的地方定义(行为)?2)如果 Contextmenu 行为有效,那么为什么不使用 tooltipbehavior ?3)粘贴在顶部的异常的任何线索?
我期望(Xaml)-tooltip 行为-> 在(行为类)中调用 tooltipopening 事件-> 这反过来又调用 ViewModel 中定义的命令。我为上下文菜单尝试了这种类似的方式并且工作正常。
请提供一些有关解决此问题的提示。
wpf - 如何为从 HierarchicalDataTemplate 生成的 TreeViewItem 指定哪个 TreeViewItem 样式/模板?
情况:
我有两个在 TreeView 中表示的类。DiskSpec 和 DiskSet。DiskSpec 可以单独存在,也可以是 DiskSet 的子项。我正在启用 DragDrop 功能,以便用户可以将 DiskSpec 从 DiskSpec 节点拖到 DiskSet 上,以将其添加到该 DiskSet 中。现在一切都在工作,除了一件事。我的 DragDropHelper 类需要在 ItemsPresenter(或相关类)中指定该控件是拖动源还是放置目标。
我的 TreeView 设置如下:
问题:
所以我真的需要两个 TreeViewItem 样式。一次用于 DiskSets(它指定将呈现 DiskSpecs 的 ItemsPresenter 是一个 DropTarget),另一个用于指定它的 ItemsPresenter 是一个 DragSource。
不幸的是,我没有看到任何从 HierarchicalDataTemplate 对象设置 TreeViewItem 样式或模板的方法,并且似乎没有办法指定此 ItemTemplate 仅用于特定的 DataType。
有什么想法吗?还是我错过了什么?
在下面找到我的 XAML 中的一些示例。
默认树视图项
有关 DragDropHelper 属性设置的示例,请参阅 ItemsPresenter 部分。
树视图结构
wpf - 带按钮的树视图
我有一个 TreeView,其中每个节点都有一个图标和一个描述性文本。但我不希望任何节点都可以被选中。相反,我希望每个节点都充当一个按钮。当用户按下它时它会运行一个命令。但它可能看起来不像按钮或超链接
这是我到目前为止所尝试的。问题是文本是蓝色的,文本有下划线。此外,有时节点会被选中,因此是蓝色的。
wpf - 通过单击文本展开/折叠树视图中的组
我该怎么做才能通过单击文本而不是单击左侧的箭头来展开/折叠 TreeView 中的组。
wpf - 如何在 WPF TreeView 中拒绝“泡沫”选择?
我有一个具有某种结构的分层 TreeView 对象:
- 主层
- 第二级 1
- 第二级 3
- 第二级 2
问题是:当我在第二级选择项目时,它会触发主级项目的“选定”事件。我怎么能否认呢?我尝试使用一些带有布尔标志和原始源属性的技巧,但我失败了。e.Handled = true 也不给我结果。
感谢您的任何建议,并为我的英语不好感到抱歉!
wpf - Wpf Treeview 绑定基于项目文件夹结构
我目前有一个文件目录,我想在我的项目中读入我的程序。结构。
在我的程序中,上面的每个文件都由其自己的业务对象表示。我希望能够在我的程序中在我的树视图中有这个。
我只加载这些文件一次,所以我只想读取这些文件一次并将它们绑定到树视图。有没有优雅的方法来做到这一点???
谢谢,凯夫
c# - WPF Treeview 仅扩展到一定深度?
我有一个数据绑定的 TreeView。我想扩展 TreeViewItems 但只能说 3 的深度。
通常我会发出一个 TreeViewItem.ExpandSubtree() 但这会扩展所有内容,所以我自己制作了一个刺,因为它应该相当简单,对吧?
这是我尝试过的,我制作了下面的方法,然后将我的树视图 ItemContainerGenerator 以及树视图中的项目集合传递给它,深度为 3。
问题是它第一次为所有子项递归回调 ItemContainerGenerator 的状态为“NotStarted”,并且每次调用时都返回 null。当我捕获空值时,这意味着树只打开到 1 的深度,而不是我想要的 3。
我在这里想念什么?
wpf - 如何防止根据条件选择 TreeViewItem
我有 wpf TreeView - 绑定到一些数据。Treeview 位于窗口的左侧,该窗口分为两个区域,其中树是导航,右侧的面板根据所选的树节点更改内容。
并非树视图的所有节点都产生详细信息。我想禁用这些节点的选择。任何想法?
谢谢
wpf - TreeViewItem isSelected 被触发了两次
我有一个包含各种项目的 TreeView。项目的样式使得 IsSelected 属性绑定到我的 VM 到布尔 IsSelected。
每当我单击树视图项时,都会调用此 VM 属性两次,首先是 value==false,然后是 value==true。
我认为这是一种正常行为,但我不确定为什么,因为我以相同的方式绑定了 IsExpended 属性,并且只调用了一次。
谢谢
silverlight - silverlight 4 treeview silently throws Binding Errors
So I have a silverlight treeview control bound to the type below, I set the DataContext
of my page to an instance of my ViewModel which has a Divisions
property that is a List of RmDivision
objects.
And then its bound like this:
Now, I get no exceptions, everytime I click a treeeview item, only in my output window I see:
System.Windows.Data Error: BindingExpression path error: 'Division' property not found on 'xxx.Base.RmDivision' 'xxx.Base.RmDivision' (HashCode=35753827). BindingExpression: Path='Division' DataItem='xxx.Base.RmDivision' (HashCode=35753827); target element is 'System.Windows.Controls.ContentControl' (Name=''); target property is 'Content' (type 'System.Object')..
I'm kinda a newbie here and don't really know what is going on, the only way I know it is the treeview is because thats the only control that has to do anything with a Division
property, is it the SelectedValuePath
, I want the SelectedItem to be an instance of RmDivision and current it works like this.
Regards