Я хотел бы переместить круг, нажав на кнопки. Например;Перемещение рисованного круга в положение C# WPF
Существует круг в положении (0,0), и я хотел бы переместить его, нажав кнопку X +. Это будет увеличивать X один за другим, не останавливаясь, и перемещение круга по позиции X. Затем, когда я нажимаю кнопку Y +, она увеличит Y всего 20 раз, и круг начнет движение по оси Y.
У меня есть один код, но я не мог перемещать его динамически. Он перемещается в предопределенное положение.
XAML:
<Window x:Class="circle_animation.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" Loaded="Window_Loaded" Closed="Window_Closed" >
<Canvas>
<Ellipse Width="10" Height="10" Canvas.Left="0" Canvas.Top="0" Fill="Black" x:Name="el" />
<Button Canvas.Left="255" Canvas.Top="266" Content="Move On X" Height="23" Width="75" Click="Button_Click" />
<Button Canvas.Left="139" Canvas.Top="272" Content="Move On Y+" Height="23" Name="button1" Width="75" Click="Button2_Click" />
</Canvas>
КОД:
public int X;
public int Y;
public bool inside = true;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
if (inside)
{
DoubleAnimation animatex = new DoubleAnimation();
animatex.To = X;
el.BeginAnimation(Canvas.LeftProperty, animatex);
DoubleAnimation animatey = new DoubleAnimation();
animatey.To = Y;
el.BeginAnimation(Canvas.TopProperty, animatey);
}
}
public void Button_Click(object sender, RoutedEventArgs e)
{
if (inside)
{
X++;
}
}
public void Button2_Click(object sender, RoutedEventArgs e)
{
Y = Y + 20;
}
Это была моя идея, чтобы переместить его динамически, но он не работает. Не могли бы вы мне помочь ? Где я ошибаюсь?
Ожидаете ли вы, что круг непрерывно перемещается, и, изменяя X и Y, вы волшебным образом меняете свой «вектор скорости»? – Clemens
Да, именно я хочу это сделать. – Samet