TOC

This article has been localized into Hungarian by the community.

Alap vezérlők:

A Password box vezérlő

Egyszerű szöveg szerkesztésére a WPF-ben létezik a TextBox vezérlő, de mi van ha jelszót akarunk bevinni, szerkeszteni? Funkcionálisan szinte azonos a TextBox vezérlővel, de a WPF-től azt várjuk el, hogy más karaktereket jelenítsen meg, nem a beírt karaktereket, amikor jelszót gépelünk be azért hogy megvédjük az információt a kíváncsi tekintetektől. Erre a célra létezik a WPF-ben a PasswordBox vezérlő, amit ugyanolyan könnyű használni mint a TextBox vezérlőt. Engedjék meg, hogy illusztráljam ezt az alábbi példával:

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

A képernyő nézeten látható hogy ugyanazt a szöveget vittük be mindkét textbox vezérlőbe, de a jelszó verzióban a valós karakterek pont karakterrel lettek helyettesítve. A felhasználó beállíthatja a megjelenítendő karaktert, ami megjelenik a valós karakterek helyett, mint a PasswordChar tulajdonságot:

<PasswordBox PasswordChar="X" />

Ebben az esetben az X karaktert fogjuk használni a pont karakter helyett. Amennyiben a fejlesztő be akarja állítani a jelszó maximális hosszát, akkor azt a MaxLength tulajdonság beállításával teheti meg:

<PasswordBox MaxLength="6" />

Használtuk mindkét tulajdonságot az alábbi példakódban:

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

Megfigyelhetjük, hogy a megjelenített karakter most az X karakter és csak 6 karakter bevitelére volt módunk.

'PasswordBox' és a adat-kötés

Amennyiben ki szeretnéd nyerni a jelszót a 'PasswordBox'-ból, akkor a Password tulajdonságot ki tudod olvasni a c# forráskódból. Mindenesetre, biztonsági megfontolásból a 'Password' tulajdonság nem köthető a vezérlőhöz, vagyis csak kódból tudod elérni.

Ez talán nem is fontos a számunkra - mint ahogy említettük a c# forráskódból minden probléma nélkül ki tudjuk olvasni a jelszót. Az MVVM megoldáshoz vagy ha csak szeretnénk mégis adat-kötéses megoldással élni, erre is van megoldás. Erről a következő cikkben olvashatsz: 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!