ユーザーコントロールを作成し、Focusable = "True"と設定します。これは、ボタンWPF:フォーカスが適切にUsercontrolで転送されない
<Button Grid.Column="1" Name="btnPreviousClip" Focusable="True" Template="{StaticResource controlButtonStart}" Margin="2,2,2,4" Click="btnReverse_Click" KeyboardNavigation.TabIndex="0" KeyDown="btnPreviousClip_KeyDown" />
<Button Grid.Column="2" Name="btnReverse" Focusable="True" Template="{StaticResource controlButtonReverse}" Margin="2,2,2,4" Click="btnReverse_Click" KeyboardNavigation.TabIndex="1" KeyDown="btnReverse_KeyDown" />
<Button Grid.Column="3" Name="btnPlay" Focusable="True" Template="{StaticResource controlButtonPlay}" Click="btnPlay_Click" Margin="2,2,2,4" KeyboardNavigation.TabIndex="2" KeyDown="btnPlay_KeyDown" />
<Button Grid.Column="3" Name="btnPause" Focusable="True" Template="{StaticResource controlButtonPause}" Margin="2,2,2,4" Visibility="Hidden" Click="btnPause_Click" KeyboardNavigation.TabIndex="3" KeyDown="btnPause_KeyDown" />
<Button Grid.Column="4" Name="btnForward" Focusable="True" Template="{StaticResource controlButtonForward}" Margin="2,2,2,4" Click="btnForward_Click" KeyboardNavigation.TabIndex="4" KeyDown="btnForward_KeyDown" />
<Button Grid.Column="5" Name="btnNextClip" Focusable="True" Template="{StaticResource controlButtonEnd}" Margin="2,2,2,4" Click="btnForward_Click" KeyboardNavigation.TabIndex="5" KeyDown="btnNextClip_KeyDown" />
<Button Grid.Column="7" Name="btnFav" Focusable="True" Template="{StaticResource controlButtonFav}" Margin="2,2,2,4" KeyboardNavigation.TabIndex="6" Click="btnFav_Click" KeyDown="btnFav_KeyDown" />
<Button Grid.Column="8" Name="btnResize" Focusable="True" Template="{StaticResource controlButtonResize}" Margin="2,2,2,4" Click="btnResize_Click" KeyboardNavigation.TabIndex="7" KeyDown="btnResize_KeyDown" />
を次しているユーザーコントロールのコード上記
private void UserControl_GotFocus(object sender, RoutedEventArgs e)
{
Keyboard.Focus(btnPlay);
}
がうまく機能し、フォーカスがbtnplayに設定されている次のようにまた、私は、このユーザーコントロールのだフォーカスイベントを書きました。タブを押すと、フォーカスはusercontrol(btnForwardの代わりに)に転送されます。私は問題を見つけて、多くのグーグルをやっていますが、今まで運が上手くいません。
ここで、スペースバーを使用して任意のボタンを押すと、タブシーケンス(フォーカス)がうまく動作することを通知します。
私は間違っていることをお勧めします。
ユーザーコントロールにIsTabStop = "False"を試しましたか? – LPL