最近在做项目的时候由于需要用到下拉列表,于是就用popup实现了(http://blog.csdn.net/yysyangyangyangshan/article/details/8177878),在调试中也没有发现什么问题。不过当给用户使用时就出现了问题,选中选项后有残影,影响了界面显示。
解决问题时,一直认为是界面重绘,刷新的问题。于是还使用了刷新,调用DoEvents()。
public void DoEvents() { DispatcherFrame frame = new DispatcherFrame(); Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, new DispatcherOperationCallback(ExitFrames), frame); Dispatcher.PushFrame(frame); } public object ExitFrames(object f) { ((DispatcherFrame)f).Continue = false; return null; }
不过依然是不行的。
试了很多办法,最后还是从popup的属性中找到了一个解决办法。设置一个属性就可以了。如下:
<Popup AllowsTransparency="True">... ...</Popup>