更新:2007 年 11 月
命名空间:
System.Windows.Controls 程序集:
PresentationFramework(在 PresentationFramework.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation
<ContentPropertyAttribute("Text")> _
<LocalizabilityAttribute(LocalizationCategory.Text)> _
Public Class TextBox _
Inherits TextBoxBase _
Implements IAddChild
[ContentPropertyAttribute("Text")]
[LocalizabilityAttribute(LocalizationCategory.Text)]
public class TextBox : TextBoxBase, IAddChild
[ContentPropertyAttribute(L"Text")]
[LocalizabilityAttribute(LocalizationCategory::Text)]
public ref class TextBox : public TextBoxBase,
IAddChild
/** @attribute ContentPropertyAttribute("Text") */
/** @attribute LocalizabilityAttribute(LocalizationCategory.Text) */
public class TextBox extends TextBoxBase implements IAddChild
public class TextBox extends TextBoxBase implements IAddChild
<TextBox>
Text
</TextBox>
内容模型:TextBox 只能包含无格式文本。有关更多信息,请参见 TextBox 内容模型概述。
下图显示了一个 TextBox 示例。
TextBox 示例
.gif)
TextBox 是由若干封装组件组成的一个组合控件。因此,有些事件并不向上冒泡到包含控件,因为它们是由封装的子元素处理的。有鉴于此,应用程序开发人员应当侦听事件的隧道版本(由前缀“Preview”表示)。
TextBox 仅支持无格式文本。对于要求支持更为丰富的内容的应用程序,请参见 RichTextBox。对于需要接受密码或其他敏感输入的应用程序,请参见 PasswordBox。
可通过 HorizontalContentAlignment 和 VerticalContentAlignment 属性在水平和垂直方向上对齐 TextBox 中的文本。可通过 HorizontalAlignment 和 VerticalAlignment 属性对齐页面布局内 TextBox。
隐藏 TextBox 周围的边框的最好方法是将 TextBox 的 BorderThickness 属性设置为 0。
默认情况下,滚动条在 TextBox 上不可见。若要使滚动条可见,请将 VerticalScrollBarVisibility 和 HorizontalScrollBarVisibility 属性设置为 Visible 或 Auto。
通常,只要 TextBox 或 RichTextBox 中的文本发生更改,就应使用 TextChanged 事件进行检测,而不是像您可能预期的那样使用 KeyDown。有关示例,请参见如何:检测 TextBox 中的文本何时更改。
此示例演示一种执行如下操作的方法:使用 SelectedText 属性来检索用户已经在 TextBox 控件中选择的文本。
下面的可扩展应用程序标记语言 (XAML) 示例演示 TextBox 控件(包含要选择的部分文本)和 Button 控件(具有指定的 OnClick 方法)的定义。
在本示例中,具有相关 Click 事件处理程序的按钮用来检索文本选定内容。当用户单击该按钮时,OnClick 方法会将文本框中任何选定的文本复制到字符串中。可以方便地修改用来检索文本选定内容的具体方法(单击按钮)以及针对该选定内容执行的操作(将文本选定内容复制到字符串),以便使其适应各种不同的情形。
<TextBox Name="tbSelectSomeText">
Some text to select...
</TextBox>
<Button Click="OnClick">Retrieve Selection</Button>
下面的 C# 示例演示了在上例的 XAML 中所定义按钮的 OnClick 事件处理程序。
Private Sub OnClick(ByVal senter As Object, ByVal e As RoutedEventArgs)
Dim sSelectedText As String = tbSelectSomeText.SelectedText
End Sub
void OnClick(object sender, RoutedEventArgs e)
{
String sSelectedText = tbSelectSomeText.SelectedText;
}
更多代码
System..::.Object
System.Windows.Threading..::.DispatcherObject
System.Windows..::.DependencyObject
System.Windows.Media..::.Visual
System.Windows..::.UIElement
System.Windows..::.FrameworkElement
System.Windows.Controls..::.Control
System.Windows.Controls.Primitives..::.TextBoxBase
System.Windows.Controls..::.TextBox
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
Windows Vista
.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。
.NET Framework
受以下版本支持:3.5、3.0
参考
其他资源