This article has been localized into Italian by the community.
Il controllo PasswordBox
Per modificare il testo normale in WPF abbiamo il TextBox, ma per quanto riguarda la modifica delle password? La funzionalità è praticamente la stessa, ma vogliamo che WPF mostri qualcosa di diverso dai caratteri reali quando digiti una password, per proteggerlo da persone curiose che guardano alle tue spalle. A tale scopo, WPF ha il controllo PasswordBox, che è facile da usare quanto TextBox. Consentitemi di illustrarlo con un esempio:
<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>
Nello screenshot, ho inserito esattamente lo stesso testo nelle due caselle, ma nella versione della password, i caratteri sono sostituiti con punti. Puoi effettivamente controllare quale carattere è utilizzato al posto dei caratteri reali, usando la proprietà PasswordChar:
<PasswordBox PasswordChar="X" />
In questo caso, verrà utilizzato il carattere X al posto dei punti. Nel caso in cui sia necessario controllare la lunghezza della password, esiste la proprietà MaxLength:
<PasswordBox MaxLength="6" />
Ho utilizzato entrambe le proprietà in questo esempio aggiornato:
<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>
Notate come i caratteri ora sono X, e che mi è stato permesso di inserire solo 6 caratteri nella casella.
PasswordBox e Binding (associazione)
Quando è necessario ottenere la password da PasswordBox, è possibile utilizzare la proprietà Password da Code-behind. Tuttavia, per motivi di sicurezza, la proprietà Password non viene implementata come proprietà di dipendenza, il che significa che non è possibile associarvisi.
Questo può essere o non essere importante per te - come già affermato, puoi ancora leggere la password da Code-behind, ma per le implementazioni MVVM o se ti piacciono i binding di dati, è stata sviluppata una soluzione alternativa. Puoi leggere molto di più a riguardo qui: http://blog.functionalfun.net /2008/06/wpf-passwordbox-and-data-binding.html