Reader Level:
ARTICLE

WPF PasswordBox

Posted by Mahesh Chand Articles | WPF December 18, 2009
This article demonstrates how to create and use a PasswordBox control in WPF using XAML, C# and Visual Basic .NET.
  • 0
  • 0
  • 38791
Download Files:
 

Introduction

WPF comes with a built-in PasswordBox control that allows you to handle and manage passwords in a WPF application. You can think a PasswordBox control as a TextBox control with masking feature enabled. The PasswordBox control allows you to hide the characters and limit the number of characters to be typed in the editable area.

This article demonstrates how to create and use a PasswordBox control in WPF using XAML, C# and Visual Basic .NET.

Properties

The PasswordBox element represents in XAML represents a PasswordBox control. The following code snippet creates a PasswordBox and sets a few of its properties such as Height, Width, Foreground, and Background.

 

<PasswordBox Height="42" Width="200"  Margin="22,28,28,0"

             Name="passwordBox1" VerticalAlignment="Top"

             Background="LightBlue" Foreground="DarkBlue"

             />

 

The default PasswordBox looks like Figure 1.

 

PasswordBoxImg1.gif

Figure 1

 

The MaxLength property is used to get and set the maximum number of characters you can enter in a PasswordBox.

 

The Password property is used to get and set the current password in a PasswordBox.

 

The PasswordBox is not a PasswordBox without its masking feature. The PasswordChar property is used to get and set the masking character for the PasswordBox. The default masking character is a dot.

 

The following code snippets sets the MaxLength, PasswordChar, and Password properties of a PasswordBox control.

 

<PasswordBox Height="42" Width="200"  Margin="22,28,28,0"

             Name="passwordBox1" VerticalAlignment="Top"

             Background="LightBlue" Foreground="DarkBlue"

             MaxLength="25" PasswordChar="*"

             Password="mahesh"

             />

 

The output looks like Figure 2. The editing will stop as soon as you type 25 characters in the PasswordBox.

 

PasswordBoxImg2.gif

Figure 2

 

The SecurePassword property gets the password currently held by the PasswordBox as a SecureString. The SecureString represents text that should be kept confidential. The text is encrypted for privacy when being used, and deleted from computer memory when no longer needed.

 

Events

Besides the above discussed properties, the PasswordBox has a very important event called PasswordChanged. This even occurs when the value of the Password property is changed. The following code snippet sets this property and shows a property event handler.

 

<PasswordBox Height="42" Width="200"  Margin="22,28,28,0"

             Name="passwordBox1" VerticalAlignment="Top"

             Background="LightBlue" Foreground="DarkBlue"

             MaxLength="25" PasswordChar="*"

             Password="mahesh" PasswordChanged="passwordBox1_PasswordChanged"

             />

 

Here is the PasswordChanged event handler. You may want to use this property when you need to execute some code when a password is changed.

 

private void passwordBox1_PasswordChanged(object sender, RoutedEventArgs e)

{

    MessageBox.Show("Password changed");

}

 

Create a PasswordBox Dynamically

The following code snippet creates a PasswordBox and sets its properties at run-time.

 

private void CreatePasswordBoxDynamically()

{

    PasswordBox pw = new PasswordBox();

    pw.Height = 30;

    pw.Width = 200;

    pw.Background = new SolidColorBrush(Colors.LightBlue);

    pw.Foreground = new SolidColorBrush(Colors.DarkBlue);

    pw.MaxLength = 25;

    pw.PasswordChar = '*';

 

    RootLayout.Children.Add(pw);

}

 

Here is the code-behind sample written in Visual Basic .NET.

 

    Sub CreatePasswordBoxDynamically()

        Dim pw As New PasswordBox()

        pw.Height = 30

        pw.Width = 200

        pw.Background = New SolidColorBrush(Colors.LightBlue)

        pw.Foreground = New SolidColorBrush(Colors.DarkBlue)

        pw.MaxLength = 25

        pw.PasswordChar = "*"

 

        RootLayout.Children.Add(pw)

 

    End Sub

 

Summary

In this article, we learned how to create and use a PasswordBox control in WPF using XAML and C#.

COMMENT USING

Trending up