Windows Phone StackPanel子元素如何共享可用宽度



在windows Phone XAML中,我有一个水平方向的StackPanel,我希望它的子UI控件共享相等的可用宽度,或者在我的情况下,我希望TextBlock共享1/3,TextBox获得2/3的可用宽度。如何在不给width提供硬编码值的情况下获得它?

下面是代码示例。

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

就我所见,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/3 Grid宽度。剩下的1/3给了第1列。

相关内容

  • 没有找到相关文章

最新更新