2012-08-17 58 views
0

我有一個網頁是這樣的:如何在Windows 8應用中根據另一個設置控件的位置?

<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

的內容不再是絕對的中心,甚至我們可以通過拆分%的網格,因爲內容有時很寬,有時很窄。

我想知道如何保持內容水平/垂直對齊「居中」,然後將後退按鈕的位置設置爲相對於內容。

回答

0

稍微哈克ansewer

您可能能夠通過在中心定位你的StackPanel來實現,然後設置一個負左邊的按鈕來換擋一切由所需量留下的寬度...

<Grid> 
    <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Margin="-45,0,0,0"> 
     <button with width and padding totalling 45px /> 
     here are contents 
     they are forever absolutely in the center of the screen 
     no matter of the resolution/size 
    </StackPanel> 
</Grid> 
+0

哦!負利潤率!我在css中使用了這個技巧,我不知道它在xaml中也有效。我會在下週嘗試你的解決方案,非常感謝你。 – 2012-08-17 11:38:27

1

我建議使用帶有3列的網格佈局來確保內容居中,列寬設置爲*,Auto,*。這將確保主要內容始終居中,而不關心按鈕的大小。然後您可以使用邊距根據需要設置分離。這是我在SL,WPF & Metro中使用的技術。

<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> 
+0

+1謝謝,這也適用。 – 2012-08-29 03:20:52

相關問題