日期:2014-05-17  浏览次数:21430 次

WPF+WindowsFormsHost,置顶
在WPF中编写一个UserControl,使用了winForm的控件(使用WindowsFormsHost),2个WPF控件(其中一个GridSplitter )。加载后,发现winForm控件在最上层,和承载控件的UserControl脱节了。为何解决?当移动GridSplitter,winForm控件刷新很慢。2个困扰我很久的问题,555,呜呼哀哉!

------解决方案--------------------
当年俺也折腾了好久~~~

WindowsFormsHost置顶的问题。
1、把其他控件也放到WindowsFormsHost里面。缺点:矩形背景,无法设置背景透明。
2、把顶层控件放到popup控件里面。其中,popup最好设为绝对定位,自己设置其据屏幕左上角的坐标。

动画的问题么。
因为WindowsFormsHost内的控件的坐标机制与wpf不一样,实现动画还真没好办法。
俺的方法是,动画前先给控件截图,隐藏控件,显示图片,进行动画,动画结束后恢复。