我是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
。我把它设置得对吗?感谢。
答案 0 :(得分:5)
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>
如果您需要嵌套网格,则可能需要复制列定义。
答案 1 :(得分:0)
我刚刚运行了这个XAML,它运行良好
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="5"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<TextBox Grid.Column="0" MinWidth="100" />
<GridSplitter Grid.Column="1" Grid.RowSpan="3" ResizeDirection="Columns" HorizontalAlignment="Stretch" />
<TextBox Grid.Column="2" MinWidth="100" />
</Grid>
您确定要在第0列中放置三行吗?因为它没有多大意义
你正在这样做
<GridSplitter Grid.Column="1" Grid.RowSpan="3" ResizeDirection="Columns" Height="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Center"
Margin="0" Background="Black"/>
但显然第一列没有三行我认为你错误地放在了第0列。
我认为你想要做的就是我写的第一个XAML