WPF教程(二十)密码框

在WPF中,为了保护密码不被泄露,我们可以使用密码框控件代替文本框。密码框显示为点状字符,可以自定义替换字符。虽然Password属性无法直接用于数据绑定,但可以通过其他方式在后台代码中获取或实现视图模型绑定。
摘要由CSDN通过智能技术生成

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值