首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridSplitter卡住了

GridSplitter卡住了
EN

Stack Overflow用户
提问于 2013-12-04 10:15:38
回答 1查看 479关注 0票数 0

我遇到了问题,在多个拖拽之后(一开始它似乎很好,你还必须在每次拖动之间释放鼠标按钮),网格拆分器似乎被卡住了,不再允许你拖动它,或者有时候它只会拖动几英寸,然后再次被卡住。

我使用的代码实际上是在一个ItemTemplate中,但是为了演示这个问题,我提取了下面的问题代码。

代码语言:javascript
复制
<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>

(复制并粘贴Grid元素,以便在堆栈面板中有几个网格,当至少有10个网格时,我发现网格分割器会更快地被卡住)。

因此,如上所述,如果您尝试多次调整大小(在每次拖动之间释放鼠标按钮),在5-10次调整大小之后,拆分器似乎会卡住,至少对我来说是这样。

它似乎也只有当你试图拖左时才会被卡住。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-04 12:34:05

是的,这是一个众所周知的错误:

http://connect.microsoft.com/VisualStudio/feedback/details/509801/

这里有一些解决办法,例如绑定到ViewModel的属性。会是这样的:

代码语言:javascript
复制
<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标记。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20372536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档