可编辑的文本块,插入符号索引查询

本文关键字:插入 符号 索引 查询 编辑 文本 | 更新日期: 2023-09-27 18:33:23

我正在为我的应用程序开发一个自定义的可编辑文本块。 因此,当用户单击控件时,文本框将交换为用户编辑文本。到目前为止一切都很好,现在我的要求是我希望 TextBox 的插入符号索引准确到用户单击文本块的位置。

因此,从 UI 的角度来看,用户不会感觉到交换。

什么方法更合适?考虑到以上因素?!

我对这件事的想法迷失了。

可编辑的文本块,插入符号索引查询

我假设您有一个具有自己的鼠标处理支持的UserControl/Customcontrol,以及一种告诉何时将内容从TextBlock切换到TextBox的方法。

在鼠标向下事件中,您可以存储单击的位置,交换到文本框,在加载事件中,您可以使用 GetCharacterIndexFromPoint 来判断哪个是单击的位置并将 CaretIndex 设置为该位置。如果您使用任何边距,则可能需要调整边距。