TOC

This article is currently in the process of being translated into Romanian (~97% done).

Controale de baza:

The PasswordBox control

Pentru editarea textului obisnuit, avem TextBox-ul, insa, ce avem pentru editarea parolelor ? Functionalitatea este, in principiu, aceeasi, insa, vrem ca WPF-ul sa afiseze altceva decat caracterele pe care le scriem intr-o parola, pentru a o ascunde de alte persoane care se uita peste umarul tau. Pentru acest motiv, WPF controlul PasswordBox care este la fel de usor de folosit ca si un TextBox. Permite-mi sa demonstrez cu un exemplu :

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

In captura, am introdus exact acelasi text in ambele casete de text, insa, in versiunea pentru parola, toate caracterele sunt inlocuite cu puncte. Tu poti chiar controla care caracter este folosit in locul celor reale, folosind proprietatea PasswordChar:

<PasswordBox PasswordChar="X" />

In acest caz, caracterul X va fi folosit in locul punctelor. In cazul in care ai nevoie sa limitezi lungimea parolei, exista proprietatea MaxLength:

<PasswordBox MaxLength="6" />

Am folosit ambele proprietati in acest exemplu actualizat:

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

Observa cum caracterele sunt acum X-uri, si ca mi s-a permis sa introduc doar 6 caractere in caseta.

PasswordBox and binding

Cand trebuie sa obtii parola dintr-un PasswordBox, poti folosi proprietatea Password din codul din spate. Totusi, din motive de securitate, proprietatea Password nu este implementata ca o proprietate dependenta, ceea ce inseamna ca nu o poti lega (bind).

Acest lucru poate fi sau nu important pentru tine - asa cum am spus deja, poti citi parola din codul din spate, insa, pentru implementarile MVVM sau doar pentru ca iubesti legaturile intre date (data binding), un artificiu a fost dezvoltat. Poti citi mai multe despre el aici : 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!