TOC

This article has been localized into Danish by the community.

Basale kontroller:

PasswordBox kontrollen

Til redigering af almindelig tekst i WPF har vi TextBox kontroollen, men hvad med redigering af adgangskoder? Funktionaliteten er stort set den samme, men vi ønsker WPF skal vise noget andet end de egentlige tegn ved indtastning af en adgangskode for at beskytte den mod nysgerrige personer, som kigger dig over skulderen. Til dette formål har WPF PasswordBox kontroollen, som er lige så let at bruge som TextBox kontrollen. Lad mig vise med et eksempel:

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

I skærmbilledet har jeg indtastet nøjagtig den samme tekst i de to tekstbokse, men i adgangskodeversionen bliver tegnene erstattet af prikker. Du kan faktisk kontrollere hvilket tegn, der bruges i stedet for de rigtige tegn ved hjælp af PasswordChar egenskaben:

<PasswordBox PasswordChar="X" />

I dette tilfælde vil tegnet 'X' blive brugt i stedet for prikkerne. I tilfælde af, at du har brug for kontrol af længden af adgangskoden, er der en MaxLength egenskab til dig.

<PasswordBox MaxLength="6" />

Jeg har brujgt begge egenskaber i det opdaterede eksempel:

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

Bemærk, at tegnene nu er X'er i stedet, og at jeg kun kan indtaste 6 tegn i feltet.

PasswordBox og binding

Når du har brug for at hente adgangskoden fra PasswordBox kontrollen, kan du bruge Password egenskaben fra code-behind. Password egenskaben er dog ikke - af sikkerhedshensyn - implementered som en afhængighedsegenskab, hvilket betyder, at du ikke kan binde den.

Det kan være eller kan ikke være vigtigt for dig. Som allerede nævnt kan du stadig læse adgangskoden fra code-behind, men til MVVM implementeringer eller hvis du bare elsker databindinger, er der udviklet løsninger på det. Du kan læse mere om det her: 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!