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