试图用平滑的文本动画构建一个块控件。目前的努力包括:
但是动画仍然是不稳定和资源密集的(2-10% CPU)。
在默认的wpf窗口中使用的测试代码,我假设它会生成一个平滑的动画:
<TextBlock x:Name="_box" FontSize="64" CacheMode="BitmapCache" Text="lorem ipsum">
<TextBlock.RenderTransform>
<TranslateTransform x:Name="AnimatedTranslateTransform" X="0" Y="0" />
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="TextBlock.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="AnimatedTranslateTransform"
Storyboard.TargetProperty="X"
From="-300" To="300" Duration="0:0:5"
AutoReverse="True" RepeatBehavior="Forever" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>核对表:
在以下方面测试:
有什么想法(或者更好的代码示例)?
从响应来看,这似乎不是wpf问题(其他块控件对其他人很好,但对我来说不是),在我测试的每台机器上,我都会遇到同样的问题。
发布于 2010-06-09 00:12:59
希望这能帮到你- http://jobijoy.blogspot.com/2008/08/silverlight-marquee-control.html
而WPF版本也可以找到这里。
发布于 2010-06-09 00:43:56
在以下情况下,您的动画将完全在MilCore层处理:
尝试在带有默认设置的窗口的直接子窗口的TranslateTransform上使用双动画动画RenderTransform。
考虑到你对柔比Joy的回答的反应,我怀疑问题就在你的硬件或Direct3D设置的某个地方,但唯一的方法是测试它。
发布于 2010-06-09 01:34:54
如果您使用的是WPF4.0,请尝试在您正在动画的元素上设置CacheMode="BitmapCache" (在XAML中),在本例中,可能是一个TextBlock。
https://stackoverflow.com/questions/3002271
复制相似问题