使用gridsplitter在wpf

时间:2015-10-14 12:46:01

标签: wpf xaml

所以,我有一个非常奇怪的问题。我有一个带有列定义的网格,如下所示

<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。我怎么能在这里实现呢?

1 个答案:

答案 0 :(得分:2)

我相信你只保留GridSplitter的中间栏。这里的问题是您需要将ResizeBehavior的{​​{1}}更改为GridSplitter以更改2列的大小,而不是默认的PreviousAndNext

BasedOnAlignment

事实上,如果水平和垂直尺寸都是拉伸的,<GridSplitter Grid.Column="1" Background="Green" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" ResizeBehavior="PreviousAndNext"/> 的默认值就会正常,因此我们不需要明确指定BasedOnAlignment

ResizeBehavior