最近在做项目的时候由于需要用到下拉列表,于是就用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>