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

C# 可编辑文本块,插入符号索引查询,c#,wpf,wpf-controls,custom-controls,C#,Wpf,Wpf Controls,Custom Controls,我正在为我的应用程序开发一个自定义的可编辑文本块。因此,当用户单击控件时,TextBox会切换到用户以编辑文本。到目前为止一切都很好,现在我的要求是我希望TextBox的插入符号索引精确到用户单击TextBlock的位置 因此,用户不会从UI的角度感觉交换 什么方法更合适?考虑到上述因素 我对这件事的想法迷茫了。我假设您有一个UserControl/Customcontrol,它有自己的鼠标处理支持,并且有一种方法可以告诉您何时将内容从TextBlock切换到TextBox 在mousedown

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

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

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


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

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


在mousedown事件中,您可以存储单击的位置,切换到文本框,在Loaded事件中,您可以使用它来判断单击的位置,并将设置为该位置。如果您使用任何页边距,您可能需要调整页边距。

我假设您有一个UserControl/Customcontrol,它具有自己的鼠标处理支持,并且可以告诉您何时将内容从TextBlock切换到TextBox


在mousedown事件中,您可以存储单击的位置,切换到文本框,在Loaded事件中,您可以使用它来判断单击的位置,并将设置为该位置。如果您使用任何文本框,您可能需要调整边距。

为什么不首先使用文本框?不要这样做!使用文本框并切换其
IsReadOnly
属性。在某些地方,文本块比文本框更合适。有时你想编辑这个文本块。所以这是一个完全正确的问题。我们在应用程序中还使用了一个可编辑的文本块,它非常棒。为什么不首先使用文本框呢?不要这样做!使用文本框并切换其
IsReadOnly
属性。在某些地方,文本块比文本框更合适。有时你想编辑这个文本块。所以这是一个完全正确的问题。我们在应用程序中还使用了一个可编辑的文本块,非常好。感谢您的回复!再见;-)谢谢你的回复!再见;-)