当我按下键盘上的箭头键时,我尝试让按钮移动。但是我得到的是我总是需要先用鼠标按下按钮才能获得正确的焦点,然后我可以用左箭头键移动它,否则不能。但是,据我所知,KeyDown 事件是由 Grid 而不是按钮触发的。
这是我在后面的代码中的做法:
private void Panel_KeyDown(object sender, KeyEventArgs e)
{
Button source = Baffle;
if (source != null)
{
if (e.Key == Key.Left)
{
source.Margin = new Thickness(source.Margin.Left - 1, source.Margin.Top,
source.Margin.Right + 1, source.Margin.Bottom);
}
}
}
XAML:
<Grid Name="Panel" KeyDown="Panel_KeyDown" Background="BlanchedAlmond">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Name="Baffle" Template="{StaticResource ButtonTemplate}"
Grid.Row="1" VerticalAlignment="Bottom" Margin="20" HorizontalAlignment="Center"
Width="50" Height="20"/>
</Grid>
谁能解释一下?谢谢。