多行文本框:在状态栏中显示当前行/字符索引
我有一个多行文本框,用户可以在其中编辑文本。 在状态栏中,我想显示当前行/字符索引。 我知道我可以获取 CaretIndex,并使用 GetLineIndexFromCharacterIndex 获取行索引。
但我该如何将其绑定到状态栏呢?
I have a multiline textbox where the user can edit text.
In a statusbar I'd like to show the current line / character index.
I know I can get the CaretIndex, and use GetLineIndexFromCharacterIndex to get the line-index.
But how would I go about binding that into the statusbar ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我会为此使用附加行为。该行为可以使用
SelectionChanged
侦听更改,并相应地更新两个附加属性CaretIndex
和LineIndex
。插入符行为
I'd use an attached behavior for that. The behavior can listens to changes with
SelectionChanged
and update two attached propertiesCaretIndex
andLineIndex
accordingly.CaretBehavior
恕我直言,最简单可靠的方法是使用 DispatcherTimer 对 CarteIndex 和 GetLineIndexFromCharacterIndex 成员进行采样。然后公开状态栏绑定的几个 DP 上的值。
IMHO, the simplest and reliable way is to sample both the CarteIndex and the GetLineIndexFromCharacterIndex members using a DispatcherTimer. Then exposing the values on a couple of DP for the status bar bindings.