WPF教程(二十)密码框

2016-10-20 07:52:20来源:CSDN作者:seanbei人点击

WPF中编辑常规的文字都是使用文本框,但是如果是输入密码呢?功能应该是一样的,但是我们不想周边的人看着我们一个字母一个字母的输入,这样密码就被泄漏了,因此我们想用别的字符来替代真实密码的显示。出于这个目的,WPF有一个密码框控件,用起来和文本框一样。

<span style="font-size:14px;"><Window x:Class="WpfTutorialSamples.Basic_controls.PasswordBoxSample"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="PasswordBoxSample" Height="160" Width="300">    <StackPanel Margin="10">        <Label>Text:</Label>        <TextBox />        <Label>Password:</Label>        <PasswordBox />    </StackPanel></Window></span>
A simple PasswordBox control

在上面的截屏中,我在两个框里输入了完全一样的字符串,然而在密码框里面,字符串显示为几个点。你还能控制使用什么样的字符来替代真实字符,用PasswordChar属性就好:

<span style="font-size:14px;"><PasswordBox PasswordChar="X" /></span>
这样的话X就会替代那些点,你还可以控制显示字符的长度:
<span style="font-size:14px;"><PasswordBox MaxLength="6" /></span>
下面的例子我把两个属性都用上了:
<span style="font-size:14px;"><Window x:Class="WpfTutorialSamples.Basic_controls.PasswordBoxSample"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="PasswordBoxSample" Height="160" Width="300">    <StackPanel Margin="10">        <Label>Text:</Label>        <TextBox />        <Label>Password:</Label>        <PasswordBox MaxLength="6" PasswordChar="X" />    </StackPanel></Window></span>
A simple PasswordBox control, with a couple of extra properties set

注意现在密码显示为6个X。

密码框的绑定

当你需要获取密码框的密码时,在后台代码使用Password属性。然而,出于安全考虑,Password属性并不是一个依赖属性,也就意外着无法绑定。

这一点很重要。你仍然可以在后台代码读到密码,但是,如果要实现视图模型,或者你热衷于数据绑定,那就需要另外一种解决办法了。你可以阅读下面的链接来了解:http://blog.functionalfun.net/2008/06/wpf-passwordbox-and-data-binding.html




最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台