我有一个WPF网格,它有四个列,只包含一个GridSplitter。其中两个列(0和3)是可伸缩的,但一个可伸缩列并不直接与GridSplitter (列2)相邻。
列0和3必须具有相同的初始大小。所以我不能把0和1列放在嵌套网格中。
我怎么才能解决这个问题?
<Grid Height="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Fill="Blue" Margin="8" />
<Rectangle Grid.Column="1" Fill="Yellow" Margin="8" Width="24" />
<GridSplitter Grid.Column="2" Width="8" VerticalAlignment="Stretch" />
<Rectangle Grid.Column="3" Fill="Red" Margin="8" />
</Grid>编辑:我在nickolay.laptev的帮助下解决了它
<Grid Height="40">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0" Fill="Blue" Margin="8" />
<Rectangle Grid.Column="1" Fill="Yellow" Margin="8 8 16 8" Width="24" />
<GridSplitter Grid.Column="1" Width="8" VerticalAlignment="Stretch" HorizontalAlignment="Right" ResizeBehavior="PreviousAndNext" />
<Rectangle Grid.Column="2" Fill="Red" Margin="8" />
</Grid>发布于 2012-09-04 14:12:41
我提供两种选择:
它解决了我的问题。
发布于 2012-04-04 13:24:07
就像这样
<ColumnDefinition Width="{Binding ElementName=sizedColumn.ActualWidth}" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" x:Name="sizedColumn"/> 但是,您需要添加一个多转换器,还需要传递窗口大小和列1大小。
https://stackoverflow.com/questions/10009033
复制相似问题