wpf动态图像绘制xaml
时间: 2023-07-04 11:08:44 浏览: 140
wpf中xaml的布局
在 WPF 中,可以使用 XAML 和代码来绘制动态图像。下面是一个简单的示例,演示如何使用 XAML 和代码绘制一个移动的圆形:
XAML 代码:
```xml
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Canvas x:Name="canvas">
<Ellipse x:Name="circle" Fill="Red" Width="50" Height="50" Canvas.Left="0" Canvas.Top="0"/>
</Canvas>
</Window>
```
C# 代码:
```csharp
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// 创建一个动画
DoubleAnimation animation = new DoubleAnimation();
animation.From = 0;
animation.To = canvas.ActualWidth - circle.Width;
animation.Duration = TimeSpan.FromSeconds(5);
animation.RepeatBehavior = RepeatBehavior.Forever;
// 将动画应用到圆形的 Canvas.Left 属性上
circle.BeginAnimation(Canvas.LeftProperty, animation);
}
}
```
这个示例中,我们在 Canvas 中添加了一个 Ellipse 元素,它表示一个圆形。我们将圆形的颜色设置为红色,宽度和高度均为 50,初始位置为 Canvas 的左上角。
然后,在 C# 代码中,我们创建了一个 DoubleAnimation 对象,表示一个从 0 到 Canvas 的宽度减去圆形宽度的动画。我们将动画的持续时间设置为 5 秒,并将其重复执行。
最后,我们调用圆形的 BeginAnimation 方法,将动画应用到圆形的 Canvas.Left 属性上,使得圆形在 Canvas 中移动。
阅读全文