首页 > 其他分享 >【愚公系列】2023年08月 WPF控件专题 Label、TextBox、PasswordBox控件介绍

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

时间:2023-08-17 22:32:06浏览次数:36  
标签:控件 PasswordBox 08 Label WPF 文本 TextBox

(文章目录)


前言

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>

标签:控件,PasswordBox,08,Label,WPF,文本,TextBox
From: https://blog.51cto.com/u_15437432/7128158

相关文章

  • 20230816巴蜀暑期集训测试总结
    T1这题一看就很难实现,事实也确实是这样,考场想了半个多小时没有思路,打完暴力就跳了。这道题的正解技巧和思维性很强,不是很套路,只是融合了一些线段树区间操作的思想。感觉......怎么会评蓝呢?这T4一道紫题都明显比T1好做啊!关键T1的考场通过率竟然最高!大概思路就是,变化会形......
  • 高频SQL 50题(基础版): 员工奖金 | 2023-08-17
    问题表:Activity+----------------+---------+|ColumnName|Type|+----------------+---------+|machine_id|int||process_id|int||activity_type|enum||timestamp|float|+----------------+---------+该表展示......
  • WPF --- 非Button自定义控件实现点击功能
    引言今天在做一个设置文件夹路径的功能,就是一个文本框,加个按钮,点击按钮,弹出FolderBrowserDialog再选择文件夹路径,简单做法,可以直接StackPanel横向放置一个TextBox和一个ImageButton,然后点击按钮在后台代码中给ViewModel的FilePath赋值。但是这样属实不够优雅,UI不够......
  • HTTP status code 408含义(转)
    原文:https://www.webfx.com/web-development/glossary/http-status-codes/what-is-a-408-status-code/Theserverdidnotreceiveacompleterequestmessagewithinthetimethatitwaspreparedtowait.AserverSHOULDsendthe“close”connectionoption1 inthe......
  • 《VS篇》vs2008设置字体大小
    参考链接:https://www.nnbkzf.com/595435.html1、首先打开电脑,进入到vs2008软件中。2、在上方的菜单栏中选择工具栏下的找到“选项”,点击进入下一页面。3、点击后,会弹出控制板面板的对话框,如下图所示。4、在弹出的对话框中,选择字体和颜色,这样就可以修改字体的大小了。5、......
  • AT24C08
    一、EEPROM的优点是可以随机存取,不像Flash存储器一样需要先擦除在能写入,而且擦写次数多存储时间长。EEPROM(ElectricallyErasableProgrammablereadonlymemory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。EEPROM可以在电脑上或专用设备上擦除已有......
  • 8-17|2023-08-16 12:33:55,972 [salt.master :1643][ERROR ][20321] Received
    该日志条目显示了来自于Saltminion(在这里标识为`[master]`,这可能是minion的名称或者是由于其他原因导致的日志格式)的错误,表示minion在执行一个函数时发生了异常。日志内容“`Theminionfunctioncausedanexception`”表示在minion端执行的特定Salt函数引发了一个错误或异常。......
  • 【2023-08-16】公事公办
    20:00工作是一件好事,而我们每个人都有许多工作要干;它有益于身心健康,使我们不会感到无聊,不会干坏事。比起金钱和时装来,它更能给我们一种能力感和独立感。                                      ......
  • 2023-08-17 裸k交易法 趋势终结
    位置决定性质,要综合大势,日线的趋势永远是最关键的。一.趋势完结。不代表反向趋势的开始。1.背驰(1)有长上影线(2)第二波很明显不如第一波力量(1)趋势过程中有很强的反方向的力量(2)第二波明显不如第一波有力(3)出下影线 (1)有长上影线(2)第二波很明显不如第一波力量   2.......
  • 20230816python学习日志
    在初始化属性中的类#person_class.pyclassPerson:population=0#初始化属性,用于计数def__init__(self,myAge):self.age=myAgePerson.population+=1#计数器defget_population(self):returnPerson.population......