Wpf 网格拆分器卡住了
我遇到的问题是,在多次拖动后(最初似乎工作正常,每次拖动之间还必须释放鼠标按钮),栅格拆分器似乎卡住了,不允许您再拖动它,或者有时它只拖动几英寸,然后再次卡住 我使用的代码实际上在ItemTemplate中,但为了演示问题,我提取了下面的问题代码Wpf 网格拆分器卡住了,wpf,gridsplitter,issharedsizescope,sharedsizegroup,Wpf,Gridsplitter,Issharedsizescope,Sharedsizegroup,我遇到的问题是,在多次拖动后(最初似乎工作正常,每次拖动之间还必须释放鼠标按钮),栅格拆分器似乎卡住了,不允许您再拖动它,或者有时它只拖动几英寸,然后再次卡住 我使用的代码实际上在ItemTemplate中,但为了演示问题,我提取了下面的问题代码 <StackPanel Grid.IsSharedSizeScope="True"> <Grid> <Grid.ColumnDefinitions>
<StackPanel Grid.IsSharedSizeScope="True">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" SharedSizeGroup="SharedColumnWidth" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label Content="Name"
Grid.Column="0" />
<GridSplitter HorizontalAlignment="Center"
VerticalAlignment="Stretch"
Grid.Column="1"
Width="5" />
<TextBox Grid.Column="2"/>
</Grid>
</StackPanel>
(复制并粘贴网格元素,以便stackpanel中有几个网格,我发现当至少有10个网格时,gridsplitter会更快地被卡住)
如上所述,如果您尝试多次调整大小(在每次拖动之间释放鼠标按钮),在5-10次调整大小后,拆分器似乎会卡住,至少对我来说是这样
它似乎只有在尝试向左拖动时才会卡住。是的,这是一个众所周知的错误: 有一种解决方法,例如绑定到ViewModel的属性。这将是这样的:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding Path=Width, Mode=TwoWay}" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
....
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding Path=Width, Mode=TwoWay}" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
....
</Grid>
....
....
所以这两个网格将共享第一列的相同宽度
此方法要求您使用正确的ViewModel.:)
编辑:
我忘记了GridSplitter,不过它的想法是使用绑定到相同的属性,从而提供共享大小。。。将GridSplitter放在内部,但最重要的是不要使用那些SharedSizeGroup标记 我忘记了GridSplitter,不过它的想法是使用同一属性的绑定,从而提供共享大小。。。将GridSplitter放在内部,但最重要的是不要使用那些sharedsizegroup标记。