App当前关机关闭窗口提示
本文关键字:窗口 提示 关机 App | 更新日期: 2023-09-27 17:52:16
我有一个wpf项目,它有几个窗口,当我从一个窗口导航到另一个窗口时,我只是隐藏一个窗口并创建其他实例,如果还没有创建,否则只是使它可见
在所有Windows中都有窗口关闭事件处理程序
private void Window_Closing_1(object sender, CancelEventArgs e)
{
{
string message = "You are trying to close window " + this.Name + " .Are you sure?";
string caption = "Exit";
MessageBoxButton buttons = MessageBoxButton.YesNo;
MessageBoxImage icon = MessageBoxImage.Question;
if (MessageBox.Show(message, caption, buttons, icon) == MessageBoxResult.Yes)
{
App.Current.Shutdown();
}
else
{
MessageBox.Show("Closing aborted");
}
}
但问题是这个事件存在于每个窗口中,所以当我关闭它时,其他窗口的许多其他不可见提示也会显示出来。如果我只关闭一个窗口,有没有办法避免其他提示?
您是否尝试在App.xaml中添加退出属性?
将是一个更好的解决方案,因为您只需要编写一次确认退出代码。关于窗口名称,你可以将sender强制转换为window以找出它的名称
在另一个类中创建一个静态方法来处理窗体的关闭。
public class X
{
private static bool isClosingHandled = false;
public static void HandleClose()
{
//// app closing logic
isClosingHandled = true;
}
}
private void Window_Closing_1(object sender, CancelEventArgs e)
{
X.HandleClose();
}