我有一个 WPF 应用程序,它使用 DevExpress 控件和带有 PRISM 的 MVVM。
我正在使用 DockLayoutManager 的“DockOperationCompleted”事件在我的视图模型上调用命令,如下所示:
<dxd:DockLayoutManager x:Name="dockContainer">
<i:Interaction.Triggers>
<i:EventTrigger EventName="DockOperationCompleted">
<i:InvokeCommandAction Command="{Binding DataContext.SaveLayoutCommand, ElementName=dockContainer}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<dxd:LayoutGroup/>
</dxd:DockLayoutManager>
“SaveLayoutCommand”命令的目的是保存布局,以便以后可以及时恢复。
在 DockItem 停靠或关闭后引发“DockOperationCompleted”事件(还有其他情况,但它们无关紧要)。
问题是,当我关闭主窗口时,我的 DockLayoutManager 中的停靠项会一个一个地关闭,因此每个关闭的停靠项都会调用“SaveLayoutCommand”,我不希望这种情况发生。
引发事件的“DockOperationCompletedEventArgs”有一个“DockOperation”属性,我可以再次检查它,但我不确定这段代码到底应该放在哪里。
:当基于事件的事件参数调用命令时,有没有办法“过滤”?
谢谢:)