1. 程式人生 > 其它 >WPF之互動觸發器(CallMethodAction)學習

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 著