请参阅Define page layouts with XAML了解若干用于响应式设计的技巧。该页面面向的是Universal Windows应用程序(Windows 10),但除了RelativePanel和AdaptiveTriggers外,其他所有内容都适用于Windows Phone 8.1 Runtime应用程序。
如果您只是想要一个轻微响应的设计,例如将项目放置在距离边缘10%的不变的情况下,那么您可以在一个网格控件中设置布局,并将列设置为窗口的10%:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="9*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="1">This is 10% from the left</TextBlock>
</Grid>
虽然这看起来像是一个单独的项目很多,它通常适用于具有多个元素的典型布局。
对于拥有更多控件的繁忙设计,您可能需要根据屏幕大小移动它们。对于给定的文本块,50%的宽屏幕可能很多,而对于相同的文本,50%的窄屏幕可能太小。该应用可能希望从宽屏幕上的水平布局切换到窄屏幕上的垂直布局。应用程序可以使用视觉状态来移动控件或完全切换控件(例如,用于宽屏幕的GridView和用于窄屏幕的ListView,都绑定到相同的底层数据)。
如果您在XAML中设置了边距,那么很多此类应用程序对于您来说都是“正常工作”,所以这对您而言不起作用? –
例如,当您使用网格时,您可以定义行和列...然后使用高度和宽度的道具,您可以对所有屏幕进行调整。 – sexta13