TOC

This article has been localized into Portuguese by the community.

Controles básicos:

O controle PasswordBox

Para editar texto normal no WPF, temos o TextBox, mas e a edição de senhas? A funcionalidade é praticamente a mesma, mas queremos que o WPF exiba algo diferente dos caracteres reais ao digitar uma senha, para protegê-la das pessoas intrometidas que estiverem olhando por cima do seu ombro. Para esse propósito, o WPF tem o controle PasswordBox, que é tão fácil de usar quanto o TextBox. Permita-me ilustrar com um exemplo:

<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>

Na imagem, digitei exatamente o mesmo texto nas duas caixas de texto, mas na versão de senha os caracteres foram substituídos por pontos. Você pode realmente controlar qual caractere é usado em vez dos caracteres reais, usando a propriedade PasswordChar:

<PasswordBox PasswordChar="X" />

Neste caso, o caractere X será usado no lugar dos pontos. Caso você precise controlar o tamanho da senha, há uma propriedade MaxLength para você:

<PasswordBox MaxLength="6" />

Eu usei ambas as propriedades neste exemplo atualizado:

<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>

Veja como os caracteres agora são X, e que eu só tinha permissão para inserir 6 caracteres na caixa.

PasswordBox e binding

Quando você precisar pegar a senha do PasswordBox, poderá usar a propriedade Password do Code-behind. No entanto, por motivos de segurança, a propriedade Password não é implementada como uma propriedade de dependência, o que significa que você não pode se vincular a ela.

Isso pode ou não ser importante para você - como já foi dito, você ainda pode ler a senha do Code-behind, mas para implementações MVVM ou se você simplesmente adora data binding, uma solução alternativa foi desenvolvida. Você pode ler muito mais sobre isso aqui: http://blog.functionalfun.net/2008/06/wpf-passwordbox-and-data-binding.html


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!