我有一组视图,我希望能够在视图上调用一个方法来响应ViewModel中引发的事件。
我目前正在使用带有DataTemplate的ItemsControl,但这并没有让我有机会拦截View和ViewModel并将它们连接起来。有没有更适合这种容器的容器?
答案 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}"/>