【问题标题】:Opening a new window in MAUI在 MAUI 中打开一个新窗口
【发布时间】:2022-06-15 23:48:29
【问题描述】:

在 WPF 中,下面的代码会打开一个新窗口。

Window abc = new Window();
abc.Show();

但是对于 MAUI 窗口,我找不到显示选项。如何在 MAUI 中打开一个窗口?

【问题讨论】:

    标签: maui


    【解决方案1】:
    var secondWindow = new Window {
        Page = new MySecondPage {
            // ...
        }
    };
    
    Application.Current.OpenWindow(secondWindow);
    

    https://devblogs.microsoft.com/dotnet/announcing-dotnet-maui-preview-11/

    【讨论】:

    • 您好,从预览版 1.1 升级到最新的 VS2022 预览版(预览版 4)后,我可以看到 OpenWindow 选项。然后,在创建示例 MAUI 应用程序时默认出现的 MainPage.xaml.cs -> OnCounterClicked 方法中,我编写了这样的代码。 private void OnCounterClicked(object sender, EventArgs e) { count++; CounterLabel.Text = $"当前计数:{count}"; SemanticScreenReader.Announce(CounterLabel.Text); Application.Current.OpenWindow(new Window { Page = new MainPage() });但它在最后一行代码中抛出未处理的异常。请提出建议。
    • 在尝试执行代码“Application.Current.OpenWindow(new Window { Page = new MainPage() }); }”时,有人可以在运行时就上述未处理的异常提出建议。我在这里错过了什么吗?在 eventvwr 我可以看到以下异常.. 错误应用程序名称:MauiSampleAppPreview4_3.exe,版本:1.0.0.0,时间戳:0x61954b73 错误模块名称:KERNELBASE.dll,版本:10.0.19041.1466,时间戳:0xe01c7650
    【解决方案2】:

    试试;

    Navigation.PushAsync(new MainPage());
    

    【讨论】:

    • 嗨,Navigation.PushAsync(new MainPage());没有抛出任何错误。但它没有显示任何新的页面/窗口
    • 请将其放在 MainPage 上的按钮单击按钮中,并将 new MainPage() 更改为其他页面。
    • 嗨,按照建议尝试过。编码导航.PushAsync(new NewPage1());在 MainPage 的按钮单击事件(在创建示例 MAUI 项目时已经可用的 OnCounterClicked)中。它的行为相同..我的意思是没有错误。但未显示新页面。
    • 你能分享一个github repo吗?我们可以在哪里检查
    【解决方案3】:

    试试这个,

    await Shell.Current.GoToAsync("///MainPage");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-24
      • 2011-06-14
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-29
      相关资源
      最近更新 更多