是否有一个视图容器,我可以将ViewModel事件连接到View操作?

时间:2013-10-31 12:32:17

标签: c# wpf events mvvm mvp

我有一组视图,我希望能够在视图上调用一个方法来响应ViewModel中引发的事件。

我目前正在使用带有DataTemplate的ItemsControl,但这并没有让我有机会拦截View和ViewModel并将它们连接起来。有没有更适合这种容器的容器?

1 个答案:

答案 0 :(得分:1)

自:

    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
    xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"   

用户:源对象是您的ViewModel。

   <UserControl>
        <i:Interaction.Triggers>
            <i:EventTrigger SourceObject="{Binding}" EventName="YourEvent">
                <ei:CallMethodAction MethodName="YourMethod"/>
            </i:EventTrigger>
        </i:Interaction.Triggers>
    </UserControl>

如果将它放在另一个元素的范围内,那么您的视图(UserControl) 添加

 <ei:CallMethodAction MethodName="YourMethod" TargetObject="{Binding ElementName=yourUserControl}"/>