如何在Windows 8应用程序中根据另一个设置控件的位置?

时间:2012-08-17 11:23:36

标签: c# xaml windows-8 microsoft-metro

我有一个这样的页面:

<Grid>
   <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
       here are contents
       they are forever absolutely in the center of the screen
       no matter of the resolution/size
   </StackPanel>
</Grid>

一切都很好。但现在我想在左上角添加一个后退按钮。 example

而且我不想将网格分成2列和2行,如下所示: enter image description here

内容不再是绝对居中的,即使我们可以按百分比分割网格,因为内容有时很宽,有时甚至很窄。

我想知道如何将内容水平/垂直对齐“中心”,然后相对于内容设置后退按钮的位置。

1 个答案:

答案 0 :(得分:1)

我建议使用3列的网格布局,以确保内容居中,列宽设置为*,Auto,*。这将确保主要内容始终居中,而不关心按钮的大小。然后,您可以根据需要使用边距来设置分隔。这是我在SL,WPF&amp;地铁。

<Grid>
    <Grid.ColumnDefinitions>
         <ColumnDefinition/>
         <ColumnDefinition Width="Auto"/>
         <ColumnDefinition/>
    </Grid.ColumnDefinitions>

    <Button HorizontalAlignment="Right" VerticalAlignment="Top" Content="Do Something"/>
    <ContentControl VerticalAlignment="Top" Content="My custom content"/>
</Grid>