我需要在使用 gridsplitter 调整网格列的大小时放置一个事件。我尝试在受影响的列上使用“sizeChanged”事件。但它不起作用请告诉我该怎么做谢谢
问问题
5713 次
1 回答
2
我对列中的内容使用 SizeChanged 事件。
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="leftColumn" MinWidth="268" Width="268*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition x:Name="centerColumn" MinWidth="327" Width="327*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition x:Name="rightColumn" MinWidth="393" Width="393*"/>
</Grid.ColumnDefinitions>
<custom:Control x:Name="panel1" Grid.Column="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,0,0,5" SizeChanged="PanelSizeChanged"/>
<GridSplitter Grid.Column="1" Background="#00000000" HorizontalAlignment="Center" VerticalAlignment="Stretch" ResizeBehavior="PreviousAndNext" Width="5" ResizeDirection="Columns"/>
<custom:Control x:Name="panel2" Grid.Column="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,0,0,5" SizeChanged="PanelSizeChanged"/>
<GridSplitter Grid.Column="3" Background="#00000000" HorizontalAlignment="Center" VerticalAlignment="Stretch" ResizeBehavior="PreviousAndNext" Width="5" ResizeDirection="Columns"/>
<custom:Control x:Name="panel2" Grid.Column="4" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,0,0,5" SizeChanged="PanelSizeChanged"/>
</Grid>
我在一个回调 PanelSizeChanged 中管理我需要的所有大小更改内容。您当然可以为每一列使用不同的处理程序。
于 2011-06-17T21:22:08.033 回答