当前位置 : 主页 > 网络编程 > net编程 >

【愚公系列】2023年08月 WPF控件专题 Label、TextBox、PasswordBox控件介绍

来源:互联网 收集:自由互联 发布时间:2023-08-25
(文章目录) 前言 WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。 原生

(文章目录)


前言

WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。

原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见的标准用户界面元素。

自定义控件则允许开发人员使用XAML和C#等编程语言来创建个性化的用户界面元素。自定义控件可以根据需求提供更多的功能和自定义化选项,以及更好的用户体验。

一、Label、TextBox、PasswordBox控件介绍

1.Label

Label控件是WPF中的一个基本控件,它用于显示文本或图像。下面是Label控件的一些重要属性:

  • Content:指定Label显示的内容。
  • HorizontalContentAlignment:指定Label内容的水平对齐方式。
  • VerticalContentAlignment:指定Label内容的垂直对齐方式。
  • FontSize:指定Label中文本的字号大小。
  • FontWeight:指定Label中文本的字重。
  • Foreground:指定Label中文本的颜色。

以下是一个简单的Label控件的示例:

<Label Content="Hello, World!" FontSize="16" FontWeight="Bold" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>

上面的示例中,我们设置了Label的Content属性,它将显示文本“Hello, World!”。同时,我们还设置了字号大小、字重、水平和垂直对齐方式。

除了显示文本,Label控件还可以用于显示图像。以下是一个显示图像的实例:

<Label>
    <Image Source="image.png"/>
</Label>

在这个例子中,我们将一个Image控件包含在Label中,Image控件的Source属性指向一个图像文件。这样,Label就可以显示这个图像了。

Label控件是WPF中一个非常基本的控件,它非常重要,我们可以用它来显示文本或图像,并对其进行格式化和定位。

2.TextBox

TextBox控件是WPF中最常用的输入控件之一,可以用于接收用户的文本输入。

TextBox控件的一些常用属性:

  • Text:控件中显示的文本。
  • MaxLength:控件允许的最大字符数。
  • AcceptsReturn:是否允许输入回车符。
  • AcceptsTab:是否允许输入制表符。
  • IsReadOnly:是否只读。
  • TextWrapping:文本包装方式。

下面是一个简单的TextBox控件的XAML例子:

<TextBox Text="Hello WPF!" MaxLength="20" AcceptsReturn="True" IsReadOnly="True" />

在这个例子中,TextBox控件的Text属性被设置为“Hello WPF!”,控件最大字符数被设置为20,允许输入回车符,只读模式被设置为True。

另外,TextBox控件还可以通过绑定实现动态显示和修改文本。下面是一个示例:

<TextBox Text="{Binding Path=UserName}" />

在这个例子中,TextBox控件的Text属性被绑定到一个叫做“UserName”的数据模型属性上。当数据模型中的属性值发生变化时,TextBox控件中的文本也会随之改变。

除了基本的TextBox控件,WPF还提供了一些扩展的TextBox控件,如PasswordBox、RichTextBox等。

PasswordBox控件可以用于接收密码输入,它会隐藏文本并使用星号代替。

RichTextBox控件则可以用于显示和编辑富文本,支持多种字体、颜色和样式。

3.PasswordBox

PasswordBox控件是WPF中用来输入密码和其他敏感信息的常用控件之一。它的主要特点是输入的内容是被隐藏的,以保护用户的敏感信息不被看到。本文将详细介绍PasswordBox控件的用法,并给出一个简单的案例供参考。

使用方法:

1.在XAML中声明控件:

<PasswordBox Name="passwordBox1"/>

2.使用代码获取或设置输入的内容:

string password = passwordBox1.Password;
passwordBox1.Password = "newPassword";

其中,Password属性用来获取和设置密码框中的文本。

案例:

下面是一个简单的案例,在密码框中输入密码,点击按钮后将密码显示在MessageBox中。

XAML:

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <PasswordBox Name="passwordBox1" Margin="10"/>
        <Button Name="button1" Margin="10,50,10,10" Click="button1_Click">Show Password</Button>
    </Grid>
</Window>

C#:

private void button1_Click(object sender, RoutedEventArgs e)
{
    string password = passwordBox1.Password;
    MessageBox.Show("The password is: " + password);
}

运行程序,输入密码,点击按钮即可看到该密码被显示在MessageBox中。

4.完整案例

<Grid >
    <!--Content属性设置文本 2.写在标记之间  3.内部放置一个控件作为内容-->
    <!--HorizontalAlignment 水平对齐方式  VerticalAlignment 垂直对齐方式 -->
    <!--Margin="61,115,0,0" 与相信元素的 左 上 右 下的边距-->
    <Button Name="btnLogin" HorizontalAlignment="Left" Margin="61,115,0,0" VerticalAlignment="Top" Width="50" Content="登录" Click="BtnLogin_Click">

    </Button>

    <Label Content="账号:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="35,24,0,0" HorizontalContentAlignment="Right" Width="81"/>
    <!--TextWrapping 换行方式  -->
    <TextBox Name="txtUName" HorizontalAlignment="Left" Height="23" Margin="138,26,0,0" TextWrapping="NoWrap" Text="admin" VerticalAlignment="Top" Width="120"/>
    <Label Content="密码:" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="35,56,0,0" HorizontalContentAlignment="Right" Width="81"/>
    <!--Password 密码值  PasswordChar 设置密码字符-->
    <PasswordBox Name="txtUPwd" HorizontalAlignment="Left" Height="23" Margin="138,60,0,0" Password="123456" PasswordChar="*"  VerticalAlignment="Top" Width="120"/>
    <Button Name="btnCancel" Content="取消" HorizontalAlignment="Left" Margin="157,115,0,0" VerticalAlignment="Top" Width="50"  Click="BtnCancel_Click"/>
</Grid>
网友评论