我有一个使用DevExpress控件和MVVM与PRISM的WPF应用程序。
我使用DockLayoutManager的“DockOperationCompleted”事件对我这样的视图模型调用命令:WPF MVVM事件命令 - 基于事件参数调用命令
<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”命令的目的是保存布局,因此它可以在后面的恢复时间。
'DockOperationCompleted'事件在DockItem被停靠或关闭后引发(还有其他情况,但它们不相关)。
问题是,当我关闭主窗口时,我的DockLayoutManager中的Dock项目逐一关闭,因此'SaveLayoutCommand'被调用用于每个封闭的Dock项目,我不希望发生这种情况。
与该事件被提出的“DockOperationCompletedEventArgs”有“DockOperation”属性,我可以检查agains,但我不知道确切位置应该将此代码格格不入。
我想实现的是,应该只在一种情况下调用该命令 - 当物品停靠时
我的问题是:当根据事件的事件参数调用命令时,有没有一种方法可以“过滤”?
感谢 :)
感谢您的快速回答@azeze :) – rinat 2013-03-14 16:00:02