如何将UserControl
的{{1}}事件绑定到视图模型命令?我使用MVVM和Prism,因此视图模型之间的分离很明显。
我尝试了很多东西,但没有一个能够奏效:
FrameworkElement
也使用本教程http://blog.functionalfun.net/2008/09/hooking-up-commands-to-events-in-wpf.html
<i:Interaction.Triggers>
<i:EventTrigger EventName="FrameworkElement.Unloaded">
<i:InvokeCommandAction Command="{Binding Unloaded}" />
</i:EventTrigger>
</i:Interaction.Triggers>
我别无选择,只能为我的代码隐藏添加一些功能吗?
上述任何一次尝试都没有出错,但命令没有执行。
这是我的观点模型:
local:FrameworkElementBehavior.UnloadedCommand="{Binding Unloaded}"
答案 0 :(得分:2)
我认为问题可能出在Unloaded事件中。
来自MSDN页面http://msdn.microsoft.com/en-us/library/ms754221.aspx#common_events:
最后引发了Unloaded,并由显示源或被删除的可视父级启动。当引发和处理Unloaded时,作为事件源父元素(由Parent属性确定)或逻辑树或可视树中任何给定元素向上的元素可能已经取消设置,这意味着数据绑定,资源引用和样式可能不能设置为正常或最后已知的运行时值。