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

WPF GridSplitter
EN

Stack Overflow用户
提问于 2010-07-30 14:19:08
回答 4查看 3.6K关注 0票数 3

我在使用WPF GridSplitter时遇到了奇怪的行为。

我将适当的HorizontalAlignment属性设置为stretch,当我调整它们的大小时,GridSplitter会跳来跳去,有时会回到它们的原始位置,或者只是在我拖动它们时跳来跳去……

有没有其他人看到或知道这可能是什么原因?

谢谢

这是XAML

代码语言:javascript
复制
<GridSplitter x:Name="grdTreeSplitter" Grid.Row ="1" 
     BorderBrush="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}" 
     BorderThickness="1"
     HorizontalAlignment="Stretch" Panel.ZIndex="0" 
     ResizeBehavior="PreviousAndNext" ResizeDirection="Rows"
     SnapsToDevicePixels="False" ShowsPreview="False" UseLayoutRounding="False"
     DragIncrement="1"
     DragDelta="grdSideExplorerSplitter_DragDelta">
  <GridSplitter.Visibility>
    <MultiBinding 
      ......
    </MultiBinding>
  </GridSplitter.Visibility>
</GridSplitter>
EN

回答 4

Stack Overflow用户

发布于 2011-12-12 14:32:18

我遇到了同样的问题,发现同样的代码在Silverlight中运行良好,而在WPF中却被破坏了,所以我认为这可能是WPF的问题。我的解决办法是推出我自己的GridSplitter版本,它太大了,不能放在这里,所以你可以在my blog.上看到它

票数 6
EN

Stack Overflow用户

发布于 2010-08-16 01:14:04

我也有同样的问题,好像我们画了很多东西。如果我们设置了ShowsPreview属性。用户可以在试图更新屏幕时向外拖动抓取手柄。但是用户线程应该与图形渲染线程分开,所以我不知道。如果用户选择拆分器并使用键盘上的向上和向下箭头,它也可以正常工作。啊,写这篇文章的时候。我尝试使用更大的dragincrement值,这似乎也是有效的。更好的解决方案。这是同一方向的两个网格分割器(屏幕的三个部分),我不知道这是否也是你的设置。

票数 2
EN

Stack Overflow用户

发布于 2014-10-18 04:42:08

我知道这很古老,但也许这能帮到什么人。我遇到了拆分器在快速移动后会跳回原始位置的问题。我的解决方案是在拆分器的PreviewMouseUp事件处理程序中调用CancelDrag

警告

这可能会帮助其他人,也可能不会帮助其他人,因为我正在使用一个经过大量修改的派生类,它具有额外的功能(包括管理我自己的移动),而我不知道它在一个简单的场景中是否会有所帮助(或根本不起作用)。

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

https://stackoverflow.com/questions/3369087

复制
相关文章

相似问题

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