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

解决方案 »

  1.   

    当年俺也折腾了好久~~~WindowsFormsHost置顶的问题。
    1、把其他控件也放到WindowsFormsHost里面。缺点:矩形背景,无法设置背景透明。
    2、把顶层控件放到popup控件里面。其中,popup最好设为绝对定位,自己设置其据屏幕左上角的坐标。动画的问题么。
    因为WindowsFormsHost内的控件的坐标机制与wpf不一样,实现动画还真没好办法。
    俺的方法是,动画前先给控件截图,隐藏控件,显示图片,进行动画,动画结束后恢复。
      

  2.   

    谢谢这位大哥,还有其他好的办法没啊。popup控件,怎么用
      

  3.   

    WindowsFormsHost就算是隐藏了,在改变窗体大小时,还是会很卡的感觉