請參閱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