Prism for WPF - 如何将 CancelEventArgs 发送到 viewmodel?

Prism for WPF - How to send CancelEventArgs to viewmodel?

如何在 window 关闭时将 CancelEventArgs 发送到视图模型?我尝试了以下方式,但 CloseWindow 命令方法始终将 CancelEventArgs 参数接收为 null。如何CancelEventArgs以棱镜方式查看模型?

<!-- View-->
    <interactivity:Interaction.Triggers>
        <interactivity:EventTrigger EventName="Closing">
            <interactivity:InvokeCommandAction Command="{Binding CloseWindowCommand}"  />
        </interactivity:EventTrigger>
    </interactivity:Interaction.Triggers>

视图模型

CloseWindowCommand =  DelegateCommand<CancelEventArgs>.FromAsyncHandler(CloseWindow);

public async Task CloseWindow(CancelEventArgs args)
{
   //Do Stuff
}

你应该使用 Prism 自己的 InvokeCommandAction class:

xmlns:prism="http://prismlibrary.com/"
...
<interactivity:Interaction.Triggers>
    <interactivity:EventTrigger EventName="Closing">
        <prism:InvokeCommandAction Command="{Binding CloseWindowCommand}" />
    </interactivity:EventTrigger>
</interactivity:Interaction.Triggers>

作为 Blend SDK 一部分的 InvokeCommandAction class 不支持将 EventArgs 作为命令参数传递。