TOC

This article has been localized into Slovak by the community.

Základné ovládacie prvky:

Ovládací prvok PasswordBox

Na úpravu bežného textu vo WPF máme TextBox, ale ako editovať heslá? Funkčnosť je veľmi podobná, ale my chceme, aby WPF pri zadávaní hesla zobrazovalo niečo iné ako skutočné znaky, aby ho chránila pred zvedavými ľuďmi, ktorí sa pozerajú cez naše rameno. Na tento účel má WPF ovládací prvok PasswordBox, ktorý je rovnako jednoduchý ako TextBox. Dovoľte mi ho ilustrovať na príklade:

<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 snímke obrazovky som zadal presne ten istý text do dvoch textových polí, ale vo verzii s heslom sú znaky nahradené bodkami. S vlastnosťou PasswordChar môžete nastaviť, ktoré znaky sa majú zobrazovať namiesto tých skutočných:

<PasswordBox PasswordChar="X" />

V tomto prípade sa namiesto bodiek použije znak X. V prípade, že potrebujete ovládať dĺžku hesla, existuje pre vás vlastnosť MaxLength:

<PasswordBox MaxLength="6" />

V tomto aktualizovanom príklade som použil obe vlastnosti:

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

Všimnite si, ako sa namiesto toho zobrazujú znaky X a že som mohol vložiť iba 6 znakov.

PasswordBox a binding

Keď potrebujete získať heslo z PasswordBoxu, môžete použiť v kóde vlastnosť Password. Z bezpečnostných dôvodov však vlastnosť Password nie je implementovaná ako vlastnosť závislosti, čo znamená, že nemôže byť použitý binding.

To môže, ale nemusí byť pre vás dôležité - ako už bolo uvedené, stále si môžete prečítať heslo z kódu, ale pre implementáciu MVVM, alebo ak máte radi väzby dát (binding), bolo vyvinuté riešenie. Viac si o tom môžete prečítať tu: 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!