WPF绑定FrameworkElement事件命令

时间:2012-06-07 14:39:26

标签: wpf events mvvm commandbinding frameworkelement

如何将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}"

1 个答案:

答案 0 :(得分:2)

我认为问题可能出在Unloaded事件中。

来自MSDN页面http://msdn.microsoft.com/en-us/library/ms754221.aspx#common_events

最后引发了Unloaded,并由显示源或被删除的可视父级启动。当引发和处理Unloaded时,作为事件源父元素(由Parent属性确定)或逻辑树或可视树中任何给定元素向上的元素可能已经取消设置,这意味着数据绑定,资源引用和样式可能不能设置为正常或最后已知的运行时值。