我有以下简单的WPF代码,我的期望是创建一个2行3列的网格,并在各列上使用网格拆分器。但是只要我不拆分网格中的行,网格拆分器都是可见的并且可以正常工作。
下面是示例代码:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<GridSplitter Grid.Column="1"
Grid.RowSpan="2"
HorizontalAlignment="Left"
VerticalAlignment="Stretch"
Background="LightGray"
ShowsPreview="true"
Width="3" />
<GridSplitter Grid.Column="2"
Grid.RowSpan="2"
HorizontalAlignment="Left"
VerticalAlignment="Stretch"
Background="LightGray"
ShowsPreview="true"
Width="3"/>
<!--Button x:Name="button" Grid.Row="1" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Height="27" Grid.Column="1" Margin="19,42,0,0" /-->
</Grid>
我给Grid.RowSpan = 2以为这将使网格拆分器跨越我拥有的两行。但是,当我运行这段代码时,我得到了这个。
第二行重叠在网格拆分器上,它们不可见。蓝线代表轮廓。我只希望垂直网格拆分器跨越整个窗口。我在这里做错了什么?我什至在底部声明了网格拆分器。
样本中多行的唯一问题是它们没有占据整个网格的高度。
第一行的30
高度,第二行的高度取决于内容(Auto
)。没有任何内容的话0
。屏幕截图上的蓝线未显示真实轮廓。修复布局,使第二行填充高度:Height="*"
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句