最小宽度在MainPage.xaml(UWP)中不起作用

llycmphe  于 2023-02-27  发布在  其他
关注(0)|答案(1)|浏览(148)

在我的UWP应用程序中,我创建了MinWidth 800,但运行时它会变小。MainPage.xaml

<Page ............
      ............
      MinWidth="800">

</Page>

我希望我的应用程序不能小于800像素。

m3eecexj

m3eecexj1#

您似乎要设置UWP窗口的最小大小。通常,我们将使用ApplicationView.SetPreferredMinSize(Size) Method设置UWP应用的最小大小。但这不适合您的场景。您要求的最小宽度为800,而此API允许的最大最小大小为500 x 500。
如果你想让你的应用保持在一个喜欢的大小,你可以做的是处理sizechanged event of the window,当应用调整大小时,如果应用的宽度小于800,你可以把窗口的大小调整回800。

代码示例:

public MainPage()
    {
        this.InitializeComponent();
        Window.Current.CoreWindow.SizeChanged += CoreWindow_SizeChanged;
    }

    private void CoreWindow_SizeChanged(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.WindowSizeChangedEventArgs args)
    {
        var newszie = args.Size;
        if (newszie.Width<800) 
        {
            Debug.WriteLine("smaller than 800");
            var targetsize = new Size(800, 600);
            ApplicationView.GetForCurrentView().TryResizeView(targetsize);
           
        }
    }

相关问题