WPF之交互触发器(CallMethodAction)学习

需求背景:

当我们需要制作画板时,我们的VM需要记录我们的坐标并保存到Path的Data中,用我们普通的Command是无法办到的,这时我们就衍生出来了一个交互触发器CallMethodAction

使用方法:

1:去Nuget下载MicrosoftExpressionInteractions 如图

2:这时我们在我们的页面xaml中添加引用   xmlns:Interaction="http://schemas.microsoft.com/expression/2010/interactions"

3:在我们的控件中添加行为,比如 我们需要在VM中获取Loaded事件这事需要这样写==>>

<i:Interaction.Triggers>
  <i:EventTrigger EventName="Loaded">
    <Interaction:CallMethodAction MethodName="TestLoadedCommand" TargetObject="{Binding}" />
  </i:EventTrigger>
</i:Interaction.Triggers>

4:在VM里面定义TestLoadedCommand方法如:

public void TestLoadedCommand(object obj, RoutedEventArgs arg)
{

}

这时我们需要的效果就完成啦

备注:CallMethodAction和我们的InvokeCommandAction调用方式不一样,前者是用 MethodName="TestLoadedCommand" TargetObject="{Binding}" 进行触发无需写命令(Command) 后者就是单纯的是用Command进行触发,并且VM中需要声明ICommand方法

警告:本文章未经作者允许禁止转载  2021-12-21 著

原文地址:https://www.cnblogs.com/ShyFrog/p/15714209.html