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 著