gpt4 book ai didi

wpf - App xaml假设实例化的第一个窗口是主窗口(showdialog被忽略),我需要显示多个窗口

转载 作者:可可西里 更新时间:2023-11-01 13:59:39 25 4
gpt4 key购买 nike

我的 App.xaml.cs 中有以下代码

private void App_Start(object sender, StartupEventArgs e)
{
if ( CompletedInstall())
{
//using show to allow for pacifier if loading is slow
var manager = new WINServiceConfig();
MainWindow = manager;
manager.ShowDialog();
}
}

private bool CompletedInstall()
{
var window = new Initialize();
window.ShowDialog();
return window.DoLaunchManager;
}

以及 App.xaml 中的以下内容

<Application x:Class="Manager.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="App_Start">

当我注释掉检查 CompletedInstall() 的行时,ma​​nager.ShowDialog() 工作正常,并且显示我的配置窗口。当 CompletedInstall() 被调用时,对 ma​​nager.ShowDialog() 的调用立即返回而不显示窗口。我添加了主窗口,假设有人决定某个应用程序应该只显示一个窗口。

我通过在调用 CompletedInstall 之前设置主窗口找到了解决方法

        private void App_Start(object sender, StartupEventArgs e)
{
var manager = new WINServiceConfig();
MainWindow = manager;

if (CompletedInstall())
{
manager.ShowDialog();
}

但这迫使我根据其用途开发 WINServiceConfig(特别是构造函数),因为它不能指望先决条件已完成。这是不好的形式。我还能做些什么来解决这个问题?

虚拟窗口?这不可能是最好的答案。可以吗??

最佳答案

您应该将 ShutdownMode 设置为 OnExplicitShutdown(至少在显示初始对话框时)。

关于wpf - App xaml假设实例化的第一个窗口是主窗口(showdialog被忽略),我需要显示多个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4199932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com