添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

【C# .NET】WPF (七) 常用控件 之 文本控件(TextControls)

WPF常用控件

WPF 的所有控件都是从 System.Windows.Controls.Control 类中派生出来,其命名空间是System.Windows.Controls 。

WPF有两个类似的类继承树,一个与界面( UI )相关,如 UIElement 类;另一个与内容( Content )相关,如 ContentElement。

ContentElement 支持文本方式,而 UIElement 则支持图形方式。

Control 类中派生出来的控件,基本上可以分为4类:

  1. 内容控件(ContentControls)
  2. 条目控件(ItemsControls)
  3. 文本控件(TextControls)
  4. 范围控件(RangeControls)

文本控件(TextControls)继承树:



7. 文本控件(TextControls)

1)文本控件包括:

1.PasswordBox(密码输入框)

2.TextBox(基本输入框)

3.RichTextBox(富文本输入框)

2)TextBoxBase 是 TextBox 和 RichTextBox 的基类,它是一个不能实例化的抽象类。


7.1 密码输入框(PasswordBox)

密码输入框,用于输入和处理密码的控件。

属性 描述
MaxLength 获取或设置密码的最大长度
PasswordChar 获取或设置密码的掩码字符
Password 获取或设置当前保留的密码

XAML代码:

    <StackPanel Margin="10">
        <TextBlock Text="用户名" Foreground="LightGreen"/>
        <TextBox/>
        <Separator Margin="0,15"/>
        <TextBlock Text="请输入密码" Foreground="LightGreen"/>
        <PasswordBox x:Name="passwordBox" MaxLength="10" PasswordChar="*" 
                     PasswordChanged="passwordBox_PasswordChanged"/>
        <TextBlock x:Name="textBlock" Foreground="LightBlue" Margin="0,15"/>
    </StackPanel>

运行演示:


7.2 文字输入框(TextBox)

1)TextBoxBase 常用属性

由于 TextBox 和 RichTextBox 都是以 TextBoxBase 为基类,所以这些属性对两种文本输入控件都有效。

属性 描述
AcceptsReturn 是否支持输入 Enter 键换行
AcceptsTab 是否支持插入tab控制符
AutoWordSelection 是否支持自动选择整个词
CanRedo 是否支持重做前一个动作
CanUndo 是否支持撤销前一个动作
ExtentHeight 获取可见的内容区域的垂直大小
ExtentWidth 获取可见的内容区域的水平大小
HorizontalOffset 获取或设置水平滚动条位置
HorizontalScrollBarVisibility 是否显示水平滚动条
VerticalOffset 获取或设置垂直滚动条的位置
VerticalScrollBarVisibility 是否显示垂直滚动条
IsReadOnly 是否只读
IsUndoEnabled 是否支持恢复操作
UndoLimit 获取或设置可以恢复的动作次数
SpellCheck 设置SpellCheck.IsEnabled属性,可自动检查输入框中单词是否拼写错误
ViewportWidth 设置视窗的宽度
ViewportHeight 设置视窗的高度


2)文字输入框

文字输入框,该控件可用于显示或编辑无格式文本。

文字输入框是一个非常常用的控件,它是由多个控件组成的,其中含有Border、ScrollViewer、Grid、Rectangle、TextView、ScrollBar等一些控件。

属性 描述
MinLines 获取或设置最小可见行数
MaxLines 获取或设置最大可见行数
Text 获取或设置文本框的文本内容
CharacterCasing 枚举类,获取或设置输入字符的大小写
TextAlignment 枚举类,获取或设置文本框的内容的水平对齐方式
SelectionLength 获取或设置当前所选内容的字符数
LineCount 获取文本框中的总行数
SelectedText 获取或设置文本框中当前选择的内容
TextWrapping 枚举类,获取或设置文本的换行方式
MaxLength 获取或设置文本框中输入的最大字符数


XAML代码:

    <StackPanel Margin="10">
        <TextBox MinLines="1"
                 MaxLines="5"
                 MaxLength="100"
                 AcceptsTab="True"
                 AcceptsReturn="True"
                 TextWrapping="Wrap"
                 TextAlignment="Center"
                 CharacterCasing="Upper"/>
    </StackPanel>

运行结果:



7.3 富文本框(RichTextBox)

富文本框,该控件可以使用图像、声音等对象作为文本内容。

XAML代码:

    <StackPanel Margin="10">
        <RichTextBox Name="richTB">
            <FlowDocument>
                <Paragraph>
                    <TextBox Text="test test test test test"/>
                    <LineBreak/>
                    <Rectangle Width="100" Height="20" Fill="Green"/>
                    <LineBreak/>
                    <Image Source=".\Image\liulanqi.png" Width="50" Height="50"/>
                    <LineBreak/>
                    <Button Content="我是按钮" Width="100" Height="20" Foreground="Black"/>