如何为通用Windows应用程序设置固定窗口大小

5

我刚刚开始使用VS2015社区版开发通用Windows应用程序。我使用了名为PieCharts for Windows UWP的示例。

我的问题是,我想像在旧的桌面应用程序中一样将窗口大小固定为400x650。我手动设置了宽度和高度,但并没有起作用。我的MainPage.xaml文件类似于以下代码。

<Page x:Class="MyFistUWP.MainPage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:local="using:MyFistUWP"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  MaxHeight="650" MinHeight="650" MaxWidth="400" MinWidth="400" Height="650" Width="400" >

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="140" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <Image Grid.Row="0" Source="Resources/my_logo.png" />
</Grid>

窗口大小有误,我无法调整窗口大小。

谢谢,


1
请注意,UWP应用程序可以在具有不同屏幕方向和大小的设备上运行,并且并非所有UWP平台都支持应用程序的窗口化(例如电话)。 - Rowland Shaw
3个回答

3

我找到了一个解决方案。我认为它不是最好的,但它可以工作。
XAML:

     <Grid Background="#4A9130" SizeChanged="FormName_SizeChanged">

c#

    private void FormName_SizeChanged(object sender, SizeChangedEventArgs e)
    {

        ApplicationView.GetForCurrentView().TryResizeView(new Size(900, 600));
    }

希望能对您有所帮助


3
您可以使用此代码设置应用程序的最小大小: ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(400, 650))

是的,我在MainPage构造函数中有那段代码。它可以正常工作,但我仍然可以调整窗口大小超过400x650。 - Jafuentes
1
很遗憾,您无法为UWP应用程序设置最大大小。 - Mykyta Bondarenko

1
我想唯一的选择就是使用OnSizeChanged方法来控制窗口大小。对我来说很有效。也许不是最好的选择,但这确实是解决问题的简单方法。
private void FormName_SizeChanged(object sender, SizeChangedEventArgs e)
{
    if((this.Width != 400) & (this.Height != 650))
    {
        this.Width = 450;
        this.Height = 650;
    }
}

如果你这样做,你还会看到最大化按钮和调整大小的箭头吗? - devlord
当然...这是一个大问题。但是这段代码将窗口重置回所需的大小。不得不说,用这种方式解决问题并不美观,但它确实起作用...某种程度上。 - Weissu
平板模式怎么办? - Asem Khen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接