在WPF中停止Unloaded事件

时间:2014-09-21 03:20:02

标签: wpf vb.net user-controls

我认为这不是最好的方法,但这是我能想到的唯一方法。

我有这个WPF UserControl,它通过菜单项调用(单击菜单并打开UserControl)。

用户可以在UserControl上执行许多操作,并跟踪所做的更改(通过EF和在用户进行任何更改时设置为true的变量)。

现在,我知道我做错了。我希望UserControl检查是否有更改或添加。

我把它放在Unloaded事件触发器中。

Private Sub TheUserControl_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
    If (changesMade) Then
        Dim answer = MessageBox.Show("Changes have been.....", "Alert", MessageBoxButton.OKCancel)

        If (answer = MessageBoxResult.OK) Then
            If (saveChanges() = False) Then
                'stop unloading???
            End If
        Else
            MessageBox.Show("Discarding changes.")
        End if
    End if
End Sub

我意识到我把它放在错误的EventControl中,但我不知道将它放在哪个事件控件中。

所以现在我问,我在哪里可以进行“检查”以确保如果用户离开此页面(通过点击菜单中的其他项目),他们将被要求保存之前所做的更改UserControl关闭,如果保存中发生错误,它将停止UserControl的卸载。

感谢。

0 个答案:

没有答案