简体   繁体   English

WPF Grid:GridSplitter事件

[英]WPF Grid : GridSplitter event

I need to put a event while resizing grid columns using a gridsplitter. 我需要在使用gridsplitter调整网格列大小时放置一个事件。 I tried using 'sizeChanged' event on the columns getting affected. 我尝试在受到影响的列上使用'sizeChanged'事件。 But its not working Please tell me how to do that Thanks 但它不起作用,请告诉我该怎么做,谢谢

I use the SizeChanged event on content within the columns. 我在列内的内容上使用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>

I manage all of the size change stuff I need in the one callback PanelSizeChanged. 我在一个回调PanelSizeChanged中管理所有需要的尺寸更改内容。 You could of course use different handlers for each column. 您当然可以为每列使用不同的处理程序。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM