繁体   English   中英

Windows Phone调整ColumnDefinitions

[英]Windows Phone Adjust ColumnDefinitions

我将此网格分为三列,但我想支持两列,每列的宽度=“ 0.5 *”,一列,宽度为“ 1 *”。 列中应填充从Web服务接收的数据。 如何根据收到的数据量满足该要求?

<Grid>
  <Grid.ColumnDefinitions>
    <ColumnDefinition Width="0.3*" />
    <ColumnDefinition Width="0.3*" />
    <ColumnDefinition Width="0.3*" />
  </Grid.ColumnDefinitions>
  <StackPanel Grid.Column="0">
    <TextBlock Text="{Binding OtherValue1Label}" />
    <TextBlock Text="{Binding OtherValue1Value}" />
  </StackPanel>
  <StackPanel Grid.Column="1">
    <TextBlock Text="{Binding OtherValue2Label}" />
    <TextBlock Text="{Binding OtherValue2Value}" />
  </StackPanel>
  <StackPanel Grid.Column="2">
    <TextBlock Text="{Binding OtherValue3Label}" />
    <TextBlock Text="{Binding OtherValue3Value}" />
  </StackPanel>

当只需要第一列时,可以将2nd和3rd ColumnDefinitions的Width属性设置为0。 例如 :

//set column width to 0
var columns = MyGrid.ColumnDefinitions;
rows[1].Width = new GridLength(0);
rows[2].Width = new GridLength(0);

//set it back to 0.3*
var columns = MyGrid.ColumnDefinitions;
rows[1].Width = new GridLength(0.3, GridUnitType.Star);
rows[2].Width = new GridLength(0.3, GridUnitType.Star);

当您需要第一列和第二列时,可以采用相同的方法。 只需将第三列的宽度设置为0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM