如何为目标 Windows 的 MAUI Blazor 应用程序设置 window 标题?
How to set window title for a MAUI Blazor App targeting Windows?
我在 MAUI 预览版 10 中使用 MAUI Blazor 应用程序模板创建了一个小应用程序,并将其定位到 运行 windows。但是,我希望设置应用程序的标题,我想这将通过 MainPage.xaml ContentPage 标记中的 Title 属性来完成。然而,这在启动应用程序时没有任何作用。
在平台 -> Windows 下的 App.xaml.cs 中,AppWindow 可以通过一些反射使用来检索。然后可以在 appwindow 实例上设置标题 属性。
using Microsoft.UI;
using Microsoft.UI.Windowing;
using System;
using WinRT.Interop;
.
.
.
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
base.OnLaunched(args);
Microsoft.Maui.Essentials.Platform.OnLaunched(args);
var currentWindow = Application.Windows[0].Handler.NativeView;
IntPtr _windowHandle = WindowNative.GetWindowHandle(currentWindow);
var windowId = Win32Interop.GetWindowIdFromWindow(_windowHandle);
AppWindow appWindow = AppWindow.GetFromWindowId(windowId);
appWindow.Title = "Title!";
}
public partial class MainApp : Application
{
public MainApp()
{
InitializeComponent();
MainPage = new MainPage();
}
protected override Window CreateWindow(IActivationState activationState)
{
var window = base.CreateWindow(activationState);
if (window != null)
{
window.Title = "YOUR WINDOW TITLE";
}
return window;
}
}
我在 MAUI 预览版 10 中使用 MAUI Blazor 应用程序模板创建了一个小应用程序,并将其定位到 运行 windows。但是,我希望设置应用程序的标题,我想这将通过 MainPage.xaml ContentPage 标记中的 Title 属性来完成。然而,这在启动应用程序时没有任何作用。
在平台 -> Windows 下的 App.xaml.cs 中,AppWindow 可以通过一些反射使用来检索。然后可以在 appwindow 实例上设置标题 属性。
using Microsoft.UI;
using Microsoft.UI.Windowing;
using System;
using WinRT.Interop;
.
.
.
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
base.OnLaunched(args);
Microsoft.Maui.Essentials.Platform.OnLaunched(args);
var currentWindow = Application.Windows[0].Handler.NativeView;
IntPtr _windowHandle = WindowNative.GetWindowHandle(currentWindow);
var windowId = Win32Interop.GetWindowIdFromWindow(_windowHandle);
AppWindow appWindow = AppWindow.GetFromWindowId(windowId);
appWindow.Title = "Title!";
}
public partial class MainApp : Application
{
public MainApp()
{
InitializeComponent();
MainPage = new MainPage();
}
protected override Window CreateWindow(IActivationState activationState)
{
var window = base.CreateWindow(activationState);
if (window != null)
{
window.Title = "YOUR WINDOW TITLE";
}
return window;
}
}