一、通过窗体中的按钮实现退出时数据保存提示
Xaml:
<Grid>
<TextBlock HorizontalAlignment="Left" Margin="152,159,0,0" TextWrapping="Wrap" Text="示例数据:" VerticalAlignment="Top" Height="20" Width="104" FontSize="18"/>
<TextBox x:Name="TextBox_ExpData" HorizontalAlignment="Left" Height="23" Margin="282,156,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="120"/>
<Button Content="退出" HorizontalAlignment="Left" Margin="448,159,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
</Grid>
后台:
private void Button_Click(object sender, RoutedEventArgs e)
{
if (!this.TextBox_ExpData.Text.Equals("0"))
{
MessageBoxResult result = MessageBox.Show("数据有变更,是否保存数据变更?", "WPF实例", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
MessageBox.Show("数据被保存!");
Application.Current.MainWindow.Close();
}
else if (result == MessageBoxResult.No)
{
Application.Current.MainWindow.Close();
}
else
{
return;
}
}
}
效果图:
二、通过点击右上角叉来实现数据保存提示
Xaml:
只需要在Window里面加一个Close事件,Closing="Window_Closing"
后台:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (!this.TextBox_ExpData.Text.Equals("0"))
{
MessageBoxResult result = MessageBox.Show("数据有变更,是否保存数据变更?", "WPF实害例", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
MessageBox.Show("数据被保存。");
e.Cancel = false;
}
else if (result == MessageBoxResult.No)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
}
else
{
e.Cancel = false;
}
}
}
效果图: