奇怪的对象与按钮交互,可聚焦的属性做一些奇怪的事情


 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);
}

最新更新