【发布时间】:2019-05-07 11:00:47
【问题描述】:
我需要单击一个 TreeViewItem 并打开一个包含该 TreeViewItem 数据的对话框窗口,稍后我将根据该数据运行另一个命令。 我的实际问题是:我无法点击它,因为 treeviewitem 没有 command 属性。
我的场景:我有 2 个具有 2 个属性的模型,它们将用于创建我的 TreeViewItems。在我的 ViewModel 上,我创建了它们,并根据它们的属性将它们组织在一起,然后将它们存储在 One Collection 中。
这是我用来绑定元素的 xaml:
<TreeView ItemsSource="{Binding Local}">
<TreeView.DataContext>
<data:ItemViewModel/>
</TreeView.DataContext>
</Treeview>
//In my "Local" property i have 3 TreeViewItems with other items inside them wich i want to execute the commands
我找不到为该特定场景创建数据模板的方法。甚至尝试在其中创建一个带有超链接的数据模板(认为这将是一个临时解决方案),但不会执行任何命令。
【问题讨论】:
-
您也许可以在您的视图模型中创建一个属性(具有
Local属性的属性,该属性为TreeView 提供其TreeView.ItemsSource的根节点/集合),您将其绑定到TreeView.SelectedItem.每当 TreeView 中的选定项目发生更改时,将调用视图模型中此属性的 getter,您可以以“does stuff”的方式实现它。
标签: c# wpf command treeview treeviewitem