2013-09-30 80 views
0

我有幾個TextBlock,我希望將它們組合在一起,以便如果其中一個碰巧包含大量文本,則它下面的控件相應地向下移動。WP8 StackPanel控件

目前,我已將TextBlock列入<StackPanel>之中,但是,這些控件現在在垂直方向上被廣泛分開。我怎樣才能縮短他們之間的距離?

這是我的代碼:

<StackPanel> 
    <TextBlock TextAlignment="Left" x:Name="lblCategoryTitle" TextWrapping="Wrap" Text="Category" 
       VerticalAlignment="Top" Height="29" Width="456" Margin="0,59,0,0" FontWeight="Bold"> 
     <TextBlock.Foreground> 
      <SolidColorBrush Color="{StaticResource PhoneAccentColor}" /> 
     </TextBlock.Foreground> 
    </TextBlock> 
    <TextBlock Height="auto" TextAlignment="Left" x:Name="lblCategory" TextWrapping="Wrap" 
       Text="Category" Margin="0,88,10,428" /> 
    <TextBlock TextAlignment="Left" x:Name="lblContactDetails" TextWrapping="Wrap" 
       Text="Contact Details" Margin="0,179,289,396" FontWeight="Bold"> 
     <TextBlock.Foreground> 
      <SolidColorBrush Color="{StaticResource PhoneAccentColor}" /> 
     </TextBlock.Foreground> 
    </TextBlock> 
    <TextBlock Height="auto" TextAlignment="Left" x:Name="lblName" TextWrapping="Wrap" Text="Name" 
       Margin="0,211,10,364" /> 
    <TextBlock Height="auto" TextAlignment="Left" x:Name="lblAddress" TextWrapping="Wrap" 
       Text="Address" Margin="0,243,10,332" /> 
    <TextBlock Height="auto" TextAlignment="Left" x:Name="lblEmail" TextWrapping="Wrap" Text="Email" 
       Margin="0,275,10,300" /> 
    <TextBlock Height="auto" TextAlignment="Left" x:Name="lblTelephone" TextWrapping="Wrap" 
       Text="Telephone" Margin="0,307,10,268" /> 
</StackPanel> 

我想我也應該問,如果StackPanel是我的要求權的控制。你們怎麼想?

+1

您的利潤率太大,它們將控件彼此分開,這不再是絕對的定位。在大多數情況下,只需使用「Margin =」12,0,0,12「'。 –

回答

1

你有一些相當大的利潤空間 - 如果你減少邊距的大小,文本塊會變得更加接近。你不需要抵消一切頂端(實際上,你不應)作爲StackPanel中將把從<StackPanel>

+0

啊,我傻了,我忘了那些邊際。非常感謝Rowland。 – Subby

1

前一個項目的偏移量。如果你不想讓你的控制是廣泛分離,只是減少利潤率。看起來您在更改面板類型後忘記調整邊距。

例如,對於你最後的TextBlock:

<TextBlock Height="auto" TextAlignment="Left" x:Name="lblTelephone" TextWrapping="Wrap" 
      Text="Telephone" Margin="0,307,10,268" /> 

的4個數字的餘量分別表示左邊距,上,右,底部。所以減少第二個數字就可以了。

+0

非常感謝KooKiz。 – Subby