2014-04-19 43 views
0

在Windows Phone XAML中,我有一個水平方向的StackPanel,我希望它的子UI控件可以平等地共享相同的可用寬度,或者在我的情況下,我希望TextBlock共享1/3和TextBox獲得2/3的可用寬度。如何在不將硬編碼值賦予寬度的情況下得到這些結果?如何Windows Phone的StackPanel子元素共享寬度

下面是代碼示例。

<StackPanel Orientation="Horizontal"> 
     <TextBlock Text="Bill Total: " 
        VerticalAlignment="Center"/> 
     <TextBox InputScope="Number" 
       VerticalAlignment="Center" 
       PlaceholderText="Bill Total" 
       AcceptsReturn="True" 
       x:Name="txtBillTotal" 
       /> 
    </StackPanel> 

回答

1

據我所見,你不能用StackPanel那樣做。嘗試與列定義寬度設定成比例地使用Grid代替:

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*"/> 
     <ColumnDefinition Width="2*"/> 
    </Grid.ColumnDefinitions> 
    <TextBlock Text="Bill Total: " 
       VerticalAlignment="Center"/> 
    <TextBox Grid.Column="1" 
      InputScope="Number" 
      VerticalAlignment="Center" 
      PlaceholderText="Bill Total" 
      AcceptsReturn="True" 
      x:Name="txtBillTotal" 
      /> 
</Grid> 

,將設置在第2列比第一,這意味着2/3 Grid寬度的兩倍寬。其餘三分之一給第一欄。

相關問題