您如何在 Windows 通用应用程序中定位
How do you anchor within Windows universal app
我一直在 Google 上到处寻找这方面的答案,但一无所获。
我正在尝试在我的 Windows 通用应用软件上制作一些 windows。我希望它能够随着用户使 window 变大或变小而自行调整大小。我在显示锚点的属性上找不到任何地方,而且我没有找到任何有关使用 .xaml.
自动完成的帮助
欢迎提供任何帮助
更新 – Justin XL 或任何可以回答的人
下面是我所看到的图像。我试图让所有 4 个块在任何给定时间都采用相等的 space。显然那不是我得到的。
不管怎样,我希望你能快速看一下图片下面的代码,告诉我我做错了什么。
下面的代码是我正在使用的。我不确定我是否做错了什么,因为这是我的第一个 Windows 应用程序。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Background="Gainsboro" Grid.Column="1" Width="Auto" Height="Auto">
<Button x:Name="Click_Me" Grid.Column="1" Content="Click Me" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Click_Me_Click" Width="107" /></Grid>
<Grid Background="Gainsboro" Grid.Column="1" Grid.Row="1" Width="Auto" Height="Auto">
<TextBlock x:Name="textBlock" HorizontalAlignment="Center" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Center" Grid.Row='1'/></Grid>
<Rectangle Fill="Gainsboro" Width="8" Margin="622,0,10,0" VerticalAlignment="Stretch"/>
<Grid Grid.Column="0">
<WebView Name="Video" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="Auto" Height="Auto" Grid.Row="0" Grid.Column="0" />
</Grid>
首先,您应该删除 MySplitView
上的 HorizontalAlignment="Left"
以使内容填满整个页面。
此外,我会将 Rectangle
上的硬编码 Margin
更改为 -
<Rectangle Fill="Gainsboro" Width="8" VerticalAlignment="Stretch" HorizontalAlignment="Right" Margin="0,0,-4,0" />
请注意此处的 -4px
(右边距)。因为 Rectangle
本身是 8px
宽并且对齐在 Grid
中第一个单元格的边缘,所以我将它向右移动了 4px
使其绝对坐在页面中间。
希望对您有所帮助!
我一直在 Google 上到处寻找这方面的答案,但一无所获。 我正在尝试在我的 Windows 通用应用软件上制作一些 windows。我希望它能够随着用户使 window 变大或变小而自行调整大小。我在显示锚点的属性上找不到任何地方,而且我没有找到任何有关使用 .xaml.
自动完成的帮助欢迎提供任何帮助
更新 – Justin XL 或任何可以回答的人
下面是我所看到的图像。我试图让所有 4 个块在任何给定时间都采用相等的 space。显然那不是我得到的。 不管怎样,我希望你能快速看一下图片下面的代码,告诉我我做错了什么。
下面的代码是我正在使用的。我不确定我是否做错了什么,因为这是我的第一个 Windows 应用程序。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Background="Gainsboro" Grid.Column="1" Width="Auto" Height="Auto">
<Button x:Name="Click_Me" Grid.Column="1" Content="Click Me" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Click_Me_Click" Width="107" /></Grid>
<Grid Background="Gainsboro" Grid.Column="1" Grid.Row="1" Width="Auto" Height="Auto">
<TextBlock x:Name="textBlock" HorizontalAlignment="Center" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Center" Grid.Row='1'/></Grid>
<Rectangle Fill="Gainsboro" Width="8" Margin="622,0,10,0" VerticalAlignment="Stretch"/>
<Grid Grid.Column="0">
<WebView Name="Video" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Width="Auto" Height="Auto" Grid.Row="0" Grid.Column="0" />
</Grid>
首先,您应该删除 MySplitView
上的 HorizontalAlignment="Left"
以使内容填满整个页面。
此外,我会将 Rectangle
上的硬编码 Margin
更改为 -
<Rectangle Fill="Gainsboro" Width="8" VerticalAlignment="Stretch" HorizontalAlignment="Right" Margin="0,0,-4,0" />
请注意此处的 -4px
(右边距)。因为 Rectangle
本身是 8px
宽并且对齐在 Grid
中第一个单元格的边缘,所以我将它向右移动了 4px
使其绝对坐在页面中间。
希望对您有所帮助!