我嘗試按下鍵盤上的箭頭鍵時按鈕移動。 但我得到的是,我總是需要用鼠標按下按鈕來首先獲得正確的焦點,然後我可以用左箭頭鍵移動它,否則不能。但是,正如我所知,KeyDown事件是由Grid而不是按鈕觸發的。XAML中的Wpf事件無法正確對焦按鈕
這裏是我如何做到這一點在後面的代碼:
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>
誰能解釋一下嗎?謝謝。