Перемещение треугольника по заданной координате
Я работаю над проектом и хочу анимировать прямоугольник, чтобы переместить определенное количество координат, которые я установил ранее.
Пример: мой прямоугольник находится в положении (x=0,y=0). Я хочу одним нажатием кнопки заставить его двигаться в положении (x=150, y=230) с интервалом в 100 миллисекунд. Таким образом, одним щелчком мыши он перейдет в (10,25) в первые 100 миллисекунд,(20,35) во вторые 100 миллисекунд и так далее, пока прямоугольник не достигнет конечного положения(x=150, y=230)...
Я работаю с visual studio и blend на Visual C# wpf. Заранее спасибо!:)
Что я уже пробовал:
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click(object sender, System.Windows.RoutedEventArgs e) { var myRect = (Rectangle)this.FindName("myRect"); double x = Canvas.GetLeft(myRect); double y = Canvas.GetTop(myRect); Canvas.SetLeft(myRect,x+10); Canvas.SetTop(myRect,y);
И это в коде XAML:
<Window x:Class="move.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:move" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <StackPanel> <Border BorderThickness="1" BorderBrush="Aqua"> <Canvas Name="PointCanvas" Width="500" Height="294" Margin="9,0,6,0"> <Rectangle x:Name="myRect" Fill="#FFF5F4F5" Height="39" Canvas.Left="170" Stroke="Black" Canvas.Top="89" Width="89"/> </Canvas> </Border> <Button Name="Move" Click="Button_Click">Move</Button> </StackPanel>