如何创建一个像文本框一样的形状?

时间:2010-03-19 04:42:39

标签: wpf

请参阅此控件 http://www.charlespetzold.com/blog/2009/10/Using-Text-Outlines-in-Silverlight.html formattedtext控件是一种形状,有助于生成具有适当几何形状的文本形状。我想让这个控件像一个带有光标的文本框,以及从键盘输入等功能。 现在我使用带有formattedtext控件的隐形文本框来表现。但是当文本的大小不等于渲染文本的大小作为形状时,光标位置总是会产生问题。

任何人都可以说明实现这一目标的方法。

1 个答案:

答案 0 :(得分:0)

好吧,我使用您描述的方法构建了一个突出显示文本框的语法。 实际上,起初我也想重建一切,但我想:我必须建立插入符号,选择画笔,管理许多不同的事件,如用鼠标或键盘选择,删除,复制/剪切/粘贴等等...

这是很多工作,例如,Windows用户用于在文本框中选择文本,因此这个复杂的实现不能保持未实现。我们必须遵循Microsoft有关文本框必须感受的指导。

实际上,我认为从头开始构建一个新的文本框是不可取的。我建议你继续使用当前的方法。如果在同一文本框中有不同的字体,请使用RichTextBox,并处理文本框和格式化文本中的字体更改。

另外,实现的好处是只使用formattedtext绘制可见文本(但只有当用户可以写几百个文本行时)。