1

如何在 WinRT / WinUI3 中打开新窗口?我想单击一个按钮并在当前/主窗口顶部打开另一个浮动窗口。

我已经尝试了几个零运气样本的代码:

大多数 C++ WinUI3 文档中仍然只有 C# 代码示例,因此对我来说基本上没用。我只想打开一个新窗口,别无其他。

4

2 回答 2

1

您可以使用Windows App SDK 示例,例如修改此方法: void DemoPage::TitleBtn_Click

像这样:

void DemoPage::TitleBtn_Click(winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e)
{
    auto window = Window();
    auto tb = TextBlock();
    tb.Text(L"Hello");
    window.Content(tb);
    window.Activate();
}

这看起来与此处的 C# 示例完全相同:创建一个新窗口

var window = new Window();
window.Content = new TextBlock() { Text = "Hello" };
window.Activate();
于 2021-09-18T14:08:10.190 回答
0

您必须升级到 Project Reunion 1.0.0 EXPERIMENTAL 或更高版本才能使用<winrt/Microsoft.UI.Windowing.h>. 然后,您可以AppWindow按如下方式创建:

auto appwind = winrt::Microsoft::UI::Windowing::AppWindow::Create();
appwind.Title(L"New Window Title");
appwind.Show();

这在 project reunion 0.8.2 或 0.8.3 稳定版本中不起作用。

于 2021-09-18T14:00:30.643 回答