我已经在XAML中添加了图片,并希望连续不断地随机旋转图片,以使其看起来像是漂浮的。
这是我已经尝试过的代码。
XAML
<Image Source="Assets\balloon-red.png"
x:Name="redBaloon"
Width="300"
Stretch="Uniform"
Height="Auto"
Margin="490,124,490,-124" />
C#
public MainPage()
{
this.InitializeComponent();
Loaded += MainPage_Loaded;
Random randRotate = new Random();
RotateTransform imageRotate = new RotateTransform();
redBaloon.RenderTransform = imageRotate;
imageRotate.Angle = randRotate.Next(-5,5);
}
它仅旋转一次。但我希望它不断旋转。我怎样才能做到这一点?我认为我必须在主类之外编写代码,但是我不知道正确的方法。请帮帮我。
答案 0 :(得分:0)
要连续重复旋转,可以使用DispatcherTimer。
public MainPage() {
this.InitializeComponent();
StartTimers();
}
DispatcherTimer dispatcherTimer;
public void StartTimers() {
dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += dispatcherTimer_Tick;
dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
dispatcherTimer.Start();
}
// callback runs on UI thread
void dispatcherTimer_Tick(object sender, object e) {
// execute repeating task here
Random randRotate = new Random();
RotateTransform imageRotate = new RotateTransform();
redBaloon.RenderTransform = imageRotate;
imageRotate.Angle = randRotate.Next(-5, 5);
}
上面的代码重复了Tick内部定义的操作。
有关此内容的更多详细信息,请点击此处DispatcherTimer