日期:2014-05-18  浏览次数:20863 次

wpf中的windowsFormsHost不支持BeginAnimation的动画吗?
WPF下,windowsFormsHost里有个webbrowser控件。想要做个滑进滑出的效果。
用其他控件如stackPanel等都可以实现移动位置的动画效果,但是windowsFormsHost没有动。
放到stackPanel里面也不行,stackPanel移动,windowsFormsHost却没有动。
开始动画后,如果切换一下窗口再切换回来,就会看到windowsFormsHost显示在新的位置。
如果只是单独移动一下位置的话,还是有效的。
实在不行的只能用计时器通过不断改变控件位置来自己实现了。但愿不要像winform下那样卡的厉害。

C# code

      //TranslateTransform tf = new TranslateTransform();
      //windowsFormsHost1.RenderTransform = tf;
      //DoubleAnimation da = new DoubleAnimation(0, 400, TimeSpan.FromMilliseconds(4000));
      //tf.BeginAnimation(TranslateTransform.YProperty, da);
      windowsFormsHost1.RenderTransform = new TranslateTransform() { X = 0, Y = 400 };



请问,在WPF下有什么办法可以为windowsFormsHost创建一个移动位置的动画吗?

------解决方案--------------------
WPF 有webbrowser控件,但TranslateTransform 移动效果有问题,我也正在找方案类。
------解决方案--------------------
WindowsFormsHost不支持变换这类WPF特性