2010-05-10 165 views
1

我有一个可拖动选项卡的选项卡控件。当鼠标被释放时,它将从tabControl中移除选定的选项卡并将其添加到其新位置。我的问题是TabControl在移除标签后自行绘制,然后再添加标签时会出现一个非常明显的闪烁,显示标签被移动后的标签。WPF - 暂停UI线程?

有没有一种方法可以暂停UI线程,这样在删除和插入操作完成前,选项卡控件不会重新绘制?或者也许还有其他一些重新安排标签项目的替代方法?拖放操作作为附加属性存在于单独的代码文件中

回答

0

我实际上发现我的问题与拖放完全无关。这是一个运行在TabControl的SelectionChanged事件上的函数,导致在添加和删除标签时重新绘制标签。

0

拖动完成后,您是否可以删除/重新插入标签?

我假设你的拖/放功能是使用装饰物拖动时呈现图像。如果你可以听到某种dragstarted/dragfinished事件,那么在拖动项目时,你应该可以简单地对你的树形视图做任何事情,然后在拖动完成后删除/重新插入标签。

+0

这就是我正在做的事情......在MouseUp事件中,项目被移除并重新插入新的位置。我的问题是,选项卡控件在删除之后被绘制,并且在重新插入之后再次被绘制,这引起非常明显的闪烁,显示被拖动的选项卡后面的选项卡。 – Rachel 2010-05-11 12:06:49