【发布时间】:2016-07-13 12:10:12
【问题描述】:
我正在实现延迟加载树视图,并且需要处理 Expanded 事件。我想直接在 ViewModel 中进行。我已经连接了一个 EventTrigger:
<i:Interaction.Triggers>
<i:EventTrigger EventName="Expanded">
<interactivity:InvokeCommandAction Command="{Binding HandleExpandCmd}" TriggerParameterPath="OriginalSource" />
</i:EventTrigger>
</i:Interaction.Triggers>
虽然这可以按预期工作,但 OriginalSource 是 TreeViewItem,我希望不在我的 ViewModel 中包含 System.Windows.Controls。
或者,我可以在代码隐藏中处理事件,并将 TreeViewItems 的 DataContext 传递给 ViewModel。 (当然,DataContext 是 ViewModel 需要使用的。)
我可以在 TriggerParameterPath 中使用传递 TVI 数据上下文而不是 TVI 本身的语法吗?
谢谢---
【问题讨论】:
-
你可以使用
-
@Ayyappan Subramanian -- 谢谢,但获取的是 TreeView 的 ViewModel,而不是绑定到 TVI 的项目的 ViewModel。
标签: c# wpf treeview prism eventtrigger