我正在研究一个项目,我希望动画一个矩形,每次我(例如)按一个按钮时移动一定数量的像素。 例如:我的矩形位于(x = 50,y = 60)的位置。我希望只需点击一下按钮,每按一次它就会移动10次。所以只需点击一下就可以进入(50,70),第二次进入(50,80),依此类推...
我正在使用visual studio并融入Visual C#windows商店应用程序。 提前致谢! :)
答案 0 :(得分:2)
您需要将矩形放在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);
}
然后我们可以在画布中获取矩形的x,y,并且每次按下按钮都会移动它一定量。