WPF - 密码框



PasswordBox 是一种允许用户输入掩码密码的控件。当用户输入密码时,它将显示为密码字符。您可以通过设置 PasswordChar 属性来更改密码字符。PasswordBox 类的层次继承如下:

Hierarchical of Passwordbox

PasswordBox 类常用属性

序号 属性及描述
1

InputScope

获取或设置此 PasswordBox 使用的输入上下文。

2

InputScopeProperty

标识 InputScope 依赖属性。

3

IsPasswordRevealButtonEnabled

获取或设置一个值,该值指定 PasswordBox 的可视化 UI 是否包含一个按钮元素,用于切换显示或隐藏键入的字符。在 Windows 10 及更高版本中,请改用 PasswordRevealMode。

4

IsPasswordRevealButtonEnabledProperty

标识 IsPasswordRevealButtonEnabled 依赖属性。

5

MaxLength

获取或设置此 PasswordBox 要处理的密码的最大长度。

6

MaxLengthProperty

标识 MaxLength 依赖属性。

7

Password

获取或设置 PasswordBox 当前持有的密码。

8

PasswordChar

获取或设置 PasswordBox 的掩码字符。

9

PasswordCharProperty

标识 PasswordChar 依赖属性。

10

PasswordProperty

标识 Password 依赖属性。

11

PasswordRevealMode

获取或设置一个值,该值指定密码始终、从不还是可选地被隐藏。

12

PasswordRevealModeProperty

标识 PasswordRevealMode 依赖属性。

13

Resources

获取本地定义的资源字典。在 XAML 中,您可以通过 XAML 隐式集合语法,将资源项设置为 frameworkElement.Resources 属性元素的子对象元素。(继承自 FrameworkElement)

PasswordBox 类常用事件

序号 事件及描述
1

ContextMenuOpening

当系统处理显示上下文菜单的交互时发生。

2

GotFocus

当 UIElement 获取焦点时发生。(继承自 UIElement)

3

PasswordChanged

当 Password 属性的值更改时发生。

4

Paste

当文本粘贴到控件中时发生。

以下是 PasswordBox 类常用的方法。

序号 方法及描述
1

OnLostFocus

在 LostFocus 事件发生之前调用。(继承自 Control)

2

SelectAll

选择 PasswordBox 中的所有字符。

3

SetBinding

使用提供的绑定对象将绑定附加到 FrameworkElement。(继承自 FrameworkElement)

4

SetValue

设置 DependencyObject 上依赖属性的局部值。(继承自 DependencyObject)

以下示例显示了 PasswordBox、标签和按钮。以下是创建和初始化所有这些控件的 XAML 代码。

<Window x:Class = "PasswordBox.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   Title = "MainWindow" Height = "350" Width = "604"> 
	
   <Grid > 
      <PasswordBox x:Name = "pwBox" Height = "35" Width = "200" 
         MaxLength = "8" Margin = "159,55,158,229" /> 
      <Label Content = "Password" HorizontalAlignment = "Left" Margin = "108,61,0,0"  
         VerticalAlignment = "Top" Width = "70" /> 
      <Button Content = "Ok" HorizontalAlignment = "Left" Margin = "406,64,0,0" 
         VerticalAlignment = "Top" Width = "75" Click = "Button_Click"/> 
      <Label Name = "statusText" HorizontalAlignment = "Left" Margin = "159,128,0,0"  
         VerticalAlignment = "Top" Width = "200" Height = "38"/> 
   </Grid> 
	
</Window>

以下是C# 中的按钮点击事件实现,程序比较输入的密码是否为“wpf12345”,如果是则在文本块上显示正确的密码消息。

using System.Windows;  

namespace WPFPasswordBoxControl { 
   /// <summary>
      /// Interaction logic for MainWindow.xaml 
   /// </summary> 
	
   public partial class MainWindow : Window {
	
      public MainWindow() { 
         InitializeComponent(); 
      }  
		
      private void Button_Click(object sender, RoutedEventArgs e) { 
		
         if (pwBox.Password.ToString() == "wpf12345") 
            statusText.Text = "Password Accepted"; 
         else 
            statusText.Text = "Wrong Password"; 
      } 
		
   } 
}

编译并执行上述代码后,将生成以下窗口:

Output of Passwordbox

我们建议您执行上述示例代码,并尝试 PasswordBox 类的其他属性和事件。

wpf_controls.htm
广告