You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI Editor编程插入文本后光标异常及插入位置问题咨询

.NET MAUI Editor插入文本后光标异常及指定位置插入解决方案
  • 核心问题:编程修改Editor的Text属性时,控件不会自动维护光标位置,需要手动读取当前光标位置并在插入后重置。
  • 解决步骤:
    1. 点击按钮时,先获取Editor当前的光标位置,而非固定用文本末尾
    2. 在光标位置插入目标文本
    3. 插入完成后,将光标位置设置到插入文本的末尾,确保光标跟随插入内容

具体代码示例:

private void InsertButton_Clicked(object sender, EventArgs e)
{
    // 获取当前光标所在位置
    int insertPosition = myEditor.CursorPosition;
    // 获取要插入的文本
    string textToInsert = myButton.Text;
    
    // 在指定位置插入文本
    myEditor.Text = myEditor.Text.Insert(insertPosition, textToInsert);
    
    // 重置光标到插入文本的末尾
    myEditor.CursorPosition = insertPosition + textToInsert.Length;
    // 确保没有选中内容(可选,根据需求调整)
    myEditor.SelectionLength = 0;
}

补充说明

  • 不需要监听光标移动事件:每次点击按钮时,myEditor.CursorPosition会自动返回用户当前停留的光标位置,直接读取即可,无需额外监听。
  • 安卓键盘输入无异常的原因:系统键盘操作Editor时,控件内部会自动处理光标位置的维护逻辑,而通过代码直接修改Text属性时,这部分逻辑不会触发,因此需要手动干预。

内容的提问来源于stack exchange,提问作者Wal.H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:12:39