我知道你将使用它来调用ViewModel上的方法,但出于好奇,你将如何使用在视图实例上连接事件处理程序,相当于在后面的代码中连接它。
答案 0 :(得分:3)
TargetObject是具有要调用的方法的对象,如果在窗口代码中有方法,那么对象就是窗口本身。您可以通过其名称绑定到它:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
...etcetera...
x:Name="UserControl">
所以你的CallMethodAction将是:
<ei:CallMethodAction MethodName="MyMethod"
TargetObject="{Binding ElementName=UserControl, Mode=OneWay}"/>
答案 1 :(得分:1)
我认为你可能会遇到这样的事情(忽略这个特定的例子最好用命令完成)。
<Button Content="Click this">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:CallMethodAction TargetObject="{Binding}" MethodName="SomeMethod" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>