private void Page_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Right)
{
if (shipPosition < right)
{
x = x + 10;
shipPosition = shipPosition + 10;
ship.Margin = new Thickness(shipPosition, y, 0, 0);
}
}
}
XAML - KeyDown="Page_KeyDown"
我有一个名为ship的矩形,上面是移动它的功能,在按下右箭头键或左箭头键按钮时执行。出于某种原因,这不起作用。"KeyDown="Page_KeyDown"是将按钮按下与事件链接起来的 xaml。还有另一个网格包含按钮,每次计时器滴答作响时都会移动,当我单击一个按钮并突出显示它,然后按箭头键时,飞船开始移动,突出显示的按钮也会改变。有谁知道发生了什么?
更新:我删除了按钮上的可聚焦属性,然后一起停止了飞船的移动。所以我认为这与按钮焦点的变化有关。
试试这个:
Keyboard.AddKeyDownHandler(this, Page_KeyDown);
将其放入控件的适当方法(构造函数、初始化等(
public MainWindow()
{
InitializeComponent();
Keyboard.AddKeyDownHandler(this, Page_KeyDown);
}