回答
的一种方法是使用一个LinearGradientBrush,然后动画的渐变色打造的“频闪”的效果。
下面是一个基本的窗口与一些文本的XAML是说明了该技术:
<Window x:Class="StackOverflow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="Black">
<TextBlock x:Name="_text" Text="Hello World"
FontSize="60" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock.Foreground>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0"
ColorInterpolationMode="ScRgbLinearInterpolation">
<GradientStop Color="#ff666666" Offset="-0.2" />
<GradientStop Color="#ffffffff" Offset="-0.1" />
<GradientStop Color="#ff666666" Offset="0" />
</LinearGradientBrush>
</TextBlock.Foreground>
<TextBlock.Triggers>
<EventTrigger>
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever" EnableDependentAnimation="True">
<DoubleAnimation Storyboard.TargetName="_text"
Storyboard.TargetProperty="(TextBlock.Foreground).(GradientBrush.GradientStops)[0].(GradientStop.Offset)"
From="-0.2" To="1.5" Duration="0:0:1.5" />
<DoubleAnimation Storyboard.TargetName="_text"
Storyboard.TargetProperty="(TextBlock.Foreground).(GradientBrush.GradientStops)[1].(GradientStop.Offset)"
From="-0.1" To="1.6" Duration="0:0:1.5" />
<DoubleAnimation Storyboard.TargetName="_text"
Storyboard.TargetProperty="(TextBlock.Foreground).(GradientBrush.GradientStops)[2].(GradientStop.Offset)"
From="0" To="1.7" Duration="0:0:1.5" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
</Window>
您可以用渐变停止颜色和偏移实验,再加上DoubleAnimation是的持续时间元素,以获得你所追求的效果。请记住,所有三个动画元素的持续时间必须相同。
谢谢史蒂夫!它在WPF上完美运行!但是,当我尝试在通用Windows上使用它时,它不起作用。请注意,我必须将RoutedEvent从“Loaded”更改为“TextBlock.Loaded”,但仍然不起作用。任何想法?谢谢... – Sam
基于这个[MSDN页面](https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.eventtrigger.aspx)中的示例,它看起来像尽管Windows Universal应用程序不支持“RoutedEvent”属性。我在我的答案中编辑了代码示例。也许给一下去看看它是否解决了这个问题。 –
我也根据我读的另一个[MSDN页面](https://msdn.microsoft.com/en-us/library/windows/apps/mt187354)稍微更改了'Storyboard.TargetProperty'路径。不幸的是,我无法测试这些代码更改,因为我目前无法编写Windows通用应用程序。 –
- 1. 使用XAML C#删除背景动画?
- 2. 在XAML中创建动画时出错
- 3. XAML动画:使用动画显示或隐藏控件
- 4. C++动画光标
- 5. 在C#中使用动画光标#
- 6. 如何使用PRISM创建XAML启动画面
- 7. 使用Java脚本创建表格以模拟光照动画
- 8. 使用核心图创建动画(脉冲,发光)CPTPlotSymbol
- 9. 使用JFrame创建动画
- 10. 如何使用C#在Button Hover上创建动画发光效果?
- 11. 使用css创建滚动动画
- 12. 创建使用滑动动画Vuejs
- 13. XAML使动画更流畅
- 14. 创建动态页面XAML
- 15. 使用JavaScript或jQuery创建序列步骤[动画]
- 16. 如何使用CSS或Jquery创建此动画?
- 17. 如何创建彩色条纹背景,动画缓慢转动360度,不使用光栅图像或js?
- 18. 在XAML中禁用动画?
- 19. 创建故事板动画,但不具有行和colums WPF XAML C#
- 20. 如何从图片编程(Java或C)创建动画视频
- 21. Gif动画XAML C#已暂停
- 22. 创建动画列表使用jQuery
- 23. 使用AndEngine创建3D动画
- 24. iPad使用加载动画创建PDF
- 25. 使用本机javascript创建动画
- 26. 使用android studio创建扫描动画
- 27. 使用libgdx创建交互式动画
- 28. 使用2张图像创建动画
- 29. 使用GD库创建动画gif
- 30. 使用saveGIF在R中创建动画
使用渐变。我没有使用iPhone的经验。难道你滑得越多,文字的部分就越白(er)? –