UWP:如何根据其内容调整窗口大小?

问题描述 投票:0回答:2

我有一个页面。我在这个页面中有一个网格。

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

在第二行我有一个控件,我调整了它的大小。当控件对于窗口来说太大时,我希望该窗口能够拉伸。怎么可能?

xaml uwp windows-10 stretch
2个回答
2
投票

无法编写 XAML 以便窗口自动调整大小,但您可以使用

ApplicationView.TryResizeView(Size)
方法在后面的代码中编写代码来管理视图/窗口的大小。


0
投票

适合从 WPF 到 UWP/WinUI 的开发者。

原则上,它要求窗口的大小取决于其内容。而对于 UWP 和 WinUI,内容将根据窗口大小自行调整。 这是有道理的,因为窗口并不是

Window
内容的唯一可能宿主。

例如,下面的代码会使窗口变得越来越小,因为它形成了循环依赖。

private void ContentGrid_SizeChanged(object sender, SizeChangedEventArgs e)
{
    this.Width = e.NewSize.Width;
    this.Height = e.NewSize.Height;
}

如果您确实想根据其内容调整大小,则必须切割圆圈以防止无限调整大小。具体来说,您必须

  1. 修复内容的大小,或者
  2. 使用其他策略在窗口与其内容之间达成妥协

但无论哪种方式,用户界面都会变得不那么灵活,并且容易因文化变化而出错。

© www.soinside.com 2019 - 2024. All rights reserved.