我正在做一个项目,我想在每次(例如)按下按钮时为矩形设置动画以移动一定数量的像素。例如:我的矩形位于 (x=50,y=60) 的位置。我想点击一个按钮,让它在每次按下时移动 +10 y。因此,单击一次它会转到 (50,70),第二次单击它会转到 (50,80) 等等...
我正在使用 visual studio 并在 Visual C# windows 应用商店应用程序上进行混合。提前致谢! :)
您需要矩形位于 Canvas 对象中:
<Window x:Class="WpfApplication1.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">
<StackPanel>
<Border BorderThickness="1" BorderBrush="Gray">
<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>
</Window>
在窗口中添加一个按钮并添加一个Click事件:
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);
}
然后我们可以获得 Canvas 内矩形的 x,y,每次单击按钮都会将其移动一定量。
我是一名优秀的程序员,十分优秀!