按预期正常工作,通过点击按钮。
问题:当用户控件首次加载时,我没有在其中按任何按钮时,快捷键不起作用。手动点击按钮后,快捷键会正常工作。因此,我希望让用户在按下任何按钮之前就可以使用快捷键 :)
(我已经尝试设置不同元素(如按钮本身)的焦点)
示例代码,说明我如何设置我的命令:(使用MVVM-light工具包)
ContextBinding
DataContext="{Binding GameInfoViewModel, Source={StaticResource Locator}}"
查看
<UserControl.InputBindings>
<KeyBinding Key="Right" Command="{Binding NextCommand}"/>
</UserControl.InputBindings>
//...
<mui:ModernButton Name="ModernButtonNext" IconData="{StaticResource NextIcon}" Command="{Binding NextCommand}" Margin="16 0 0 0" EllipseDiameter="24" IconWidth="14" IconHeight="14" ToolTip="Next image"/>
视图模型
private RelayCommand _nextCommand;
/// <summary>
/// Gets the NextCommand.
/// </summary>
public RelayCommand NextCommand
{
get
{
return _nextCommand ?? (_nextCommand = new RelayCommand(
ExecuteNextCommand,
CanExecuteNextCommand));
}
}
private void ExecuteNextCommand()
{
SelectedGameImageIndex += 1;
}
private bool CanExecuteNextCommand()
{
if (SelectedGameImageIndex >= GameImages.Count - 1)
{
return false;
}
return true;
}