Rad对接- PreviewClose和关闭事件- mvvm

本文关键字:事件 mvvm 对接 PreviewClose Rad | 更新日期: 2023-09-27 17:53:33

当用户单击X时,我想检查页面中是否有未保存的更改。我有isSaved属性,它告诉我这个。

现在,如果有任何未保存的更改,我想显示警告窗口(它是在适当的位置),以确认用户是否关闭窗格。

如果用户说是,我想要关闭。如果没有,我不想关闭。

如何在MVVM中实现这一点?我理解PreviewClose首先触发。如果有未保存的更改,如何停止关闭窗格?

Here are my interaction trigger.
 <i:Interaction.Triggers>
                <i:EventTrigger EventName="PreviewClose">
                    <cmd:EventToCommand Command="{Binding PreviewCloseCommand}" CommandParameter="{Binding ElementName=ContentContainer}" />
                </i:EventTrigger>
                <i:EventTrigger EventName="Close">
                    <cmd:EventToCommand Command="{Binding CloseCommand}" CommandParameter="{Binding ElementName=ContentContainer}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>

Rad对接- PreviewClose和关闭事件- mvvm

有关几个解决方案,请参见使用WPF/MVVM Light Toolkit处理窗口关闭事件。

取消关闭窗口,可以通过更新CancelEventArgs来取消该事件。