【问题标题】:How Windows Phone StackPanel Child Element share avaiable widthWindows Phone StackPanel 子元素如何共享可用宽度
【发布时间】:2014-06-03 20:20:38
【问题描述】:

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

下面是代码示例。

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

【问题讨论】:

    标签: xaml user-interface mobile windows-phone-8


    【解决方案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/3 Grid 宽度。剩下的 1/3 给第一列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 2015-04-17
      • 2015-06-08
      • 1970-01-01
      相关资源
      最近更新 更多