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

时间:2012-04-03 10:46:15

标签: c# wpf xaml

 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。还有另一个网格包含按钮,每次计时器滴答时都会移动,当我点击一个按钮突出显示它时,然后按箭头键,船开始移动,突出显示的按钮也会改变。有谁知道发生了什么事?

更新:我删除了按钮上的is focusable属性,然后一起停止了船只移动。所以我认为这与改变对按钮的关注有关。

1 个答案:

答案 0 :(得分:2)

试试这个:

Keyboard.AddKeyDownHandler(this, Page_KeyDown);

将它放在你的控件的适当方法(构造函数,初始化,......)

public MainWindow()
{
    InitializeComponent();
    Keyboard.AddKeyDownHandler(this, Page_KeyDown);
}