我在xaml中有下面的布局代码
<Grid>
<StackPanel x:Name="TestStackPanel" Grid.Row="2" Orientation="Horizontal">
<ScrollViewer x:Name="TestScrollViewer" Height="300" VerticalScrollBarVisibility="Auto">
<GridView x:Name="TestGridView"
Width="940"
Background="{StaticResource ApplicationPageBackgroundThemeBrush}"
ItemTemplate="{StaticResource TestTemplate}"
ItemsPanel="{StaticResource TestItemPanelTemplate}"
ItemContainerStyle="{StaticResource TestItemStyle}"
SelectionMode="None"
HorizontalAlignment="Left"/>
</ScrollViewer>
<Button x:Name="TestButton" Content="ClickMe" VerticalAlignment="Bottom" Margin="10,5,0,0" Click="TestButton_Click"/>
</StackPanel>
</Grid>
这在1366 * 768分辨率下显示良好,但如果我将分辨率更改为2560 * 1400,则无法按预期显示,我知道这是肯定的,但如何将布局调整到不同的分辨率?我试图添加一个ViewBox来封装Grid,它在FullScreenLandScape视图中运行良好,但是当我将应用程序更改为Snap视图时,Grid会显示在一个小空间中。
任何人都可以提供帮助吗?
答案 0 :(得分:1)
在UI元素处注册LayoutUpdated
事件。
并根据Window.Current.Bounds.Width
重新计算布局。