动态矩形高度

时间:2014-10-06 20:10:51

标签: c# wpf xaml

我必须用三个可调Rectangles填充我的窗口,如:

enter image description here

<Grid x:Name="FileDragAndDrop" Grid.Row="0" Grid.RowSpan="2" Background="Aqua">
     <Rectangle Fill="Beige" HorizontalAlignment="Stretch" Height="110" Stroke="Black" VerticalAlignment="Top" />
     <Rectangle Fill="Aquamarine" HorizontalAlignment="Stretch" Height="110" Stroke="Black" VerticalAlignment="Center" />
     <Rectangle Fill="BlanchedAlmond" HorizontalAlignment="Stretch" Height="110" Stroke="Black" VerticalAlignment="Bottom" />
</Grid>

但上面的代码是这样做的:

enter image description here

我尝试了Height="2*"following the answer),但却出错了

  

&#39; 2 *&#39;字符串无法转换为长度

如何解决此错误并使其高度动态?可以使用xaml还是我必须在C#中执行此操作?

1 个答案:

答案 0 :(得分:1)

如果您无法将矩形放入主网格的行中,则可以使用嵌套网格和Grid.RowSpan覆盖整个主网格上的嵌套网格。

<Grid x:Name="FileDragAndDrop" Grid.Row="0" Grid.RowSpan="2" Background="Aqua">
  <Grid.RowDefinitions>
      <!-- suppose you have 3 RowDefinitions here -->
  </Grid.RowDefinitions>
  <Grid Grid.RowSpan="3">
     <Grid.RowDefinitions>
         <RowDefinition MinHeight="110"/>
         <RowDefinition MinHeight="110"/>
         <RowDefinition MinHeight="110"/>
     </Grid.RowDefinitions/>
     <Rectangle Fill="Beige" Stroke="Black"/>
     <Rectangle Fill="Aquamarine" Stroke="Black" Grid.Row="1"/>
     <Rectangle Fill="BlanchedAlmond" Stroke="Black" Grid.Row="2"/>
  </Grid>
</Grid>