用来显示和编辑文字的控件,无论文本输入是来自于键盘还是指示笔,这些控件有:
·TextBox
·RichTextBox
·PasswordBox·InkCanvas
1、TextBox
- 从TextBoxBase继承。
- 使用户能够输入一行或者多行文字。
- 内建了各种功能支持:与Cut、Copy、Paste、Undo和Redo 命令的绑定(就像在之前章节所看到的),甚至还可以与拼写检测绑定。
- 除非TextBox 的尺寸被它的周边内容(或者给定的显式尺寸)所限制,否则它会随着内部文字的增长而增长。当TextBox 的宽被限制时,通过设定TextWrapping 属性为Wrap 或者WrapWithOverflow,可以将文字换行形成额外的行。
- 用户通过把AcceptReturn 设置为true 就能在输入时使用回车键来换行。
- 拼写检查:可以设置SpellCheck.IsEnabled 属性为true。
- TextBox 提供了简单的整数属性,如CaretIndex、SelectionStart 和SelectionEnd
2、RichTextBox
- 从TextBoxBase继承。
- 能包含格式化的文字(以及嵌在文字当中的任意对象)。
- 提供了一个TextPointer 类型的CaretPosition 属性。
- 提供了TextSelection 类型的Selection 属性。
- RichTextBox 的内容存在一个Document 属性里(类型是FlowDocument),而不是存在一个简单的字符串类型的Text 属性里。
3、PasswordBox
- 不会显示输入的文字,而是显示小圆点,可以设置PasswordChar 属性来选择一个新的样式。
- PasswordBox 的文本保存在一个叫作Password 的字符串属性里。
- 定义了一个Password- Changed 事件。
4、InkCanvas
- 主要目的是(通过鼠标或者和指示笔)捕捉笔迹。
- 从FrameworkElement 继承。
- 默认模式下,InkCanvas 允许在它的表面上进行简单的书写和画图。当使用指示笔时,笔尖用来写、笔端用来擦。、
- 通过使用InkCanvas 的DefaultDrawingAttributes 属性,可以改变以后输入的笔画外观(宽度、颜色等)。
- 利用EditingMode 属性被独立地应用到指示笔尖(或鼠标),并通过Edit ingModeInverted 属性来应用于指示笔的末端(back end)。只读的ActiveEdit ingMode 属性可以告诉你哪一个属性当前正在被使用。所有这3 个属性都是InkCanvasEdit ingMode 类型的,它有以下几种值:
·Ink(Edit ingMode 的默认值)—— 通过鼠标或者指示笔来绘制笔画。
·InkAndGesture —— 和Ink 一样,但同样可以识别用户的手势。手势的列表(Up、Down、Circle、
ScratchOut 和Tap)保存在System.Windows.Ink.Applicat ionGesture 枚举类型中。
·GestureOnly —— 只识别手势,不会绘制用户输入的笔画。
·EraseByStroke (Edit ingModeInverted 的默认值)—— 当笔画被触及时将笔画擦掉。
·EraseByPoint —— 只擦掉直接碰及到的笔画部分(就像传统的铅笔橡皮)。
·Select —— 当被触及时,选择笔画或者任何UIElement,使它们能被删除、移动或者在InkCanvas 范
围内被调整尺寸。
·None —— 对于鼠标或者指示笔不做任何响应。
- 定义了15 种事件,其中包括改变编辑模式、改变/移动/调整选择、收集或者擦除笔画,以及执行手势。