我尝试了以下内容:
<Button IsDefault="True" Content="Process Test File"
FocusManager.FocusedElement="{Binding ElementName=txtClientId}"
Command="{Binding ProcessFileCommand, UpdateSourceTrigger=PropertyChanged}">
</Button>
我将按钮设置为默认值。因此,当用户点击回车键时,它会处理命令,但不会像询问的那样设置焦点。但是,当用鼠标单击时,它会设置焦点。我确信必须有一个简单的方法让设置焦点也能用于默认操作。
答案 0 :(得分:1)
在Button的Click
事件中进行聚焦。当你按Enter键时它也会被调用。
<Button IsDefault="True" Content="Process Test File"
Command="{Binding ProcessFileCommand, UpdateSourceTrigger=PropertyChanged}"
Click="Button_Click">
</Button>
然后,在代码隐藏中:
private void Button_Click(object sender, RoutedEventArgs e)
{
Keyboard.Focus(txtClientId);
}