参考:https://www.likecs.com/ask-10337653.html#sc=200
【解决方案1】
根目录下的App.xaml.cs
【解决方案1】
根目录下的App.xaml.cs
//设置界面宽高
#if WINDOWS
using Microsoft.UI;
using Microsoft.UI.Windowing;
using Windows.Graphics;
#endif
namespace MauiAppForWin
{
public partial class App : Application
{
const int WindowWidth = 480;
const int WindowHeight = 800;
public App()
{
InitializeComponent();
MainPage = new MainPage();
//使用MainPage的页面配置
//var width = (int)MainPage.WidthRequest;
//var height = (int)MainPage.HeightRequest;
Microsoft.Maui.Handlers.WindowHandler.Mapper.AppendToMapping(nameof(IWindow), (handler, view) =>
{
//设置界面宽高
#if WINDOWS
var mauiWindow = handler.VirtualView;
var nativeWindow = handler.PlatformView;
nativeWindow.Activate();
IntPtr windowHandle = WinRT.Interop.WindowNative.GetWindowHandle(nativeWindow);
WindowId windowId = Microsoft.UI.Win32Interop.GetWindowIdFromWindow(windowHandle);
AppWindow appWindow = Microsoft.UI.Windowing.AppWindow.GetFromWindowId(windowId);
appWindow.Resize(new SizeInt32(WindowWidth, WindowHeight));
#endif
});
}
}
}
【解决方案2】
目录:Platforms/Windows/App.xaml.cs
重写OnLaunched
using Microsoft.UI.Xaml;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
//设置界面宽高
using Microsoft.UI;
using Microsoft.UI.Windowing;
using Windows.Graphics;
using WinRT.Interop;
namespace MauiAppForWin.WinUI
{
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
public partial class App : MauiWinUIApplication
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
}
/// <summary>
/// 设置界面宽高
/// </summary>
/// <param name="args"></param>
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
base.OnLaunched(args);
var currentWindow = Application.Windows[0].Handler.PlatformView;
IntPtr _windowHandle = WindowNative.GetWindowHandle(currentWindow);
var windowId = Win32Interop.GetWindowIdFromWindow(_windowHandle);
AppWindow appWindow = AppWindow.GetFromWindowId(windowId);
appWindow.Resize(new SizeInt32(350, 600));
}
protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
}
}
浙公网安备 33010602011771号