我有 TextBox 和 Button,当我单击 Button 时,TextBox 中的文本会发送到服务器。和 TextBox 失去焦点。单击按钮后如何将焦点设置到文本框?我已经阅读过FocusManager
,但我不明白如何使用它((
问问题
644 次
2 回答
1
我用行为做到了。行为类
public class FocusOnPropertyChangedBehavior : Behavior<Control>
{
protected override void OnAttached()
{
base.OnAttached();
AssociatedObject.PropertyChanged += FocuseControl;
}
protected override void OnDetaching()
{
base.OnDetaching();
AssociatedObject.PropertyChanged -= FocuseControl;
}
private void FocuseControl(object sender, AvaloniaPropertyChangedEventArgs e)
{
if (!AssociatedObject.IsFocused) AssociatedObject.Focus();
}
}
Xaml 代码
<i:Interaction.Behaviors>
<custom:FocusOnPropertyChangedBehavior />
</i:Interaction.Behaviors>
于 2020-12-07T03:25:11.413 回答
0
如果您只想专注于开始,请使用 AttachedToVisualTree 而不是 PropertyChanged
于 2022-01-16T17:52:37.533 回答