在我的 .NET MAUI 应用程序中,我想在条目聚焦时选择整个文本,以便可以更快地进行输入,而无需删除初始输入。
因此,我添加了以下代码:
XAML
<Entry Text="{Binding Min, Mode=TwoWay}" Focused="Entry_Focused" />
Run Code Online (Sandbox Code Playgroud)
代码隐藏
private void Entry_Focused(object sender, FocusEventArgs e)
{
var entry = sender as Entry;
entry.CursorPosition = 0;
entry.SelectionLength = entry.Text == null ? 0 : entry.Text.Length;
}
Run Code Online (Sandbox Code Playgroud)
在我的Pixel 5 - API 33 (Android 13.0 - API 33)模拟器中,当我用鼠标单击我的 Entry 时,它的行为就像这样。
当我继续使用Tab(用户没有)时,它的行为正确,正如您在此处看到的那样
解决此问题的正确方法是什么,以便当用户单击条目并设置焦点时它的行为类似于第二个屏幕截图?
在 Android\xe2\x80\x99s Focused 事件内时,对光标的更改无法正常工作。无论语言如何,都是如此(本机 Java 应用程序也会发生这种情况)。
\n解决方法是将更改排队,以便它们在方法返回后发生。这可以通过 Dispatch 来完成:
\nDispatcher.Dispatch( () =>\n{\n // your code here\n});\nRun Code Online (Sandbox Code Playgroud)\n在您的情况下,将 Entry_Focused 的所有代码放入 Dispatch 中。
\n| 归档时间: |
|
| 查看次数: |
1420 次 |
| 最近记录: |