所以,我有一个非常奇怪的问题。我有一个带有列定义的网格,如下所示
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="10"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
我有如下的主要XAML:
<ScrollViewer Grid.Column="0"/>
<GridSplitter Grid.Column="1"/>
<ScrollViewer Grid.Column="2"/>
此代码导致一个奇怪的问题。当我移动分割器时,第0列和第2列都开始调整大小。我总是可以将宽度设置为&#34; Auto&#34;在两列中。但是,当页面第一次加载时,两个scrollviewer都会根据需要占用空间。
我希望两个滚动查看器在页面加载时占用半屏,并允许用户更改大小。基本上类似于Window snapping。我怎么能在这里实现呢?
答案 0 :(得分:2)
我相信你只保留GridSplitter
的中间栏。这里的问题是您需要将ResizeBehavior
的{{1}}更改为GridSplitter
以更改2列的大小,而不是默认的PreviousAndNext
:
BasedOnAlignment
事实上,如果水平和垂直尺寸都是拉伸的,<GridSplitter Grid.Column="1" Background="Green"
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
ResizeBehavior="PreviousAndNext"/>
的默认值就会正常,因此我们不需要明确指定BasedOnAlignment
:
ResizeBehavior