0
<UserControl x:Class="MyGameSilverlight.MainPage"
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"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400" KeyDown="OnKeyDown">
<Grid x:Name="LayoutRoot" Background="White">
<Canvas x:Name="c1" Background="Green" Margin="0,0,130,80" RenderTransformOrigin="0.463,0.5">
<Rectangle x:Name="obj" Height="60" Width="80" Canvas.Left="45" Canvas.Top="45" Fill="Aqua" />
</Canvas>
</Grid>
</UserControl>
[代码的背后]移动对象
private void OnKeyDown(object sender, KeyEventArgs e)
{
switch (e.Key)
{
case Key.Right:
Canvas.SetLeft(obj, Canvas.GetLeft(obj) + 20);
break;
case Key.Left:
Canvas.SetLeft(obj, Canvas.GetLeft(obj) - 20);
break;
// more here
}
}
我对在画布简单的矩形此代码。现在我想在按键上移动这个矩形。 例如,当我按下右箭头键时,矩形应该从其初始位置向右移动20px。
代码背后的代码是什么?
我知道这一点,但方法名称应该是什么? 我试图私人无效LayoutRoot_KeyDown(对象发件人,KeyEventArgs E) { 如果(e.Key == Key.Right) { 双左= Canvas.GetLeft(OBJ)+ 20; double top = Canvas.GetTop(obj)+ 20; Canvas.SetLeft(obj,left); Canvas.SetTop(obj,top); }} 和 私人无效c1_KeyDown(对象发件人,发送KeyEventArgs E) { 如果(e.Key == Key.Right) { }} 如何 – LynAs 2013-03-17 20:37:25
将我可能知道?你没有告诉你的问题。无论如何,看我的编辑。 – Clemens 2013-03-17 21:12:33
抱歉误会。谢谢。 – LynAs 2013-03-17 23:13:06