我是 WPF 新手。我这样声明我的 Grid
:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
</Grid>
我基本上希望宽度为 5 的第 3 列成为 GridSplitter
并且可以调整左右列的大小。所以我有这个分离器代码:
<GridSplitter Grid.Column="1" Grid.RowSpan="3" ResizeDirection="Columns" Height="Auto"
VerticalAlignment="Stretch" HorizontalAlignment="Center"
Margin="0" Background="Black"/>
我没有在列中看到 GridSplitter
。我设置对了吗?谢谢。
最佳答案
您的 GridSplitter 在其列中居中,但未定义宽度。所以你有效地将它居中,宽度为零。看起来您有两个网格,而您需要一个网格。
看起来你想要这样的东西:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<GridSplitter Grid.Column="1" Grid.RowSpan="3" ResizeDirection="Columns" Height="Auto"
Width="5" VerticalAlignment="Stretch" Margin="0" Background="Black"/>
</Grid>
如果您需要嵌套的网格,那么您可能需要复制列定义。
关于c# - Gridsplitter 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110397/