我有一個使用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