Silverlight 文本框中的“捕获”选项卡
如何捕获在 Silverlight 文本框中输入的选项卡并在其位置呈现 4 个空格(或选项卡)?
我不知道如何阻止选项卡导航。
How can I capture a tab entered in a Silverlight TextBox and render 4 spaces (or a tab) in it's place?
I can't figure out how to block the tab navigation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这就是我所做的(类似于约翰内斯的代码):
即使您选择一些文本并按“Tab”键,它的行为也正是您所期望的。
另一件事:我尝试将制表符字符串设置为“\t”,但无济于事。 选项卡已渲染,但宽度为单个空格 - 因此选项卡 const 的值为四个空格。
Here is what I do (similar to Johannes' code):
This behaves just how you expect even if you select some text and hit the ol' "Tab" key.
One more thing: I tried having the tab string as "\t", but to no avail. The tab rendered, but was the width of a single space - hence the value for the Tab const being four spaces.
我不知道如何解决你的问题,我拼凑了一个解决方案,尽管这似乎有效。
设置 KeyDown 事件如下。
在这种情况下,我输入以下代码:
然后在 LostFocus 中:
LostFocus 中的最后一行将编辑光标设置到文本的末尾,否则,当它获得焦点时,光标位置位于文本框的开头
I am not sure how to solve your problem, I hacked together a solution though that seems to work.
Set the KeyDown event as below.
In that event I put the following code:
And then in LostFocus:
The last line in LostFocus sets the editing cursor to the end of the text, otherwise, when it gets focus, the cursor position is in the beginning of the textbox
这似乎对我来说效果很好,并且不需要第二个事件处理程序或文本框名称的硬编码:
This seemed to work well for me, and does not require the second event handler or hard coding of the text box name: