例如,我有一个简单的表单,只有一个文本框。当显示此表单时,其上的输入框没有键盘焦点,因此,在我正在创建的程序中工作,在这种情况下,我必须愚蠢地按 Tab 键才能输入我的框。如何避免这种情况并在表单出现时让我的 TextBox 键盘聚焦?
AXAML:
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="SpaceDunyal.Forms.Window1"
Title="MyWindow">
<StackPanel Margin="10">
<TextBox Name="MyInput" Watermark="Input yor text"/>
</StackPanel>
</Window>
C#:
using Avalonia.Controls;
namespace SpaceDunyal.Forms
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
MyInput.Focus(); // No effect
}
}
}
最佳答案
只有在 MyInput
控件添加到可视化树后,您才必须调用 Focus()
函数:
MyInput.AttachedToVisualTree += (s, e) => MyInput.Focus();
关于c# - 如何在 Avalonia 表单中强制键盘输入焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74246847/