TOC

This article has been localized into Hebrew by the community.

פקדים בסיסיים:

פקד תיבת סיסמה (PasswordBox)

כדי לערוך טקסט רגיל ב WPF יש לנו את תיבת הטקסט TextBox, אבל מה לגבי עריכת סיסמה? הפונקציונליות מאד דומה, אבל אנחנו רוצים ש WPF יציג משהו שונה מהתווים האמיתיים כשמקלידים סיסמה, כדי להסתיר אותם מפני אנשים חטטניים שמסתכלים מעבר לכתף. למטרה זו, ל WPF יש פקד PasswordBox, תיבת סיסמה, שהוא קל לשימוש בדיוק כמו תיבת הטקסט. הרשו לי להראות זאת בדוגמה:

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

בצילום המסך, הכנסתי בדיוק את אותו הטקסט לשתי תיבות הטקסט, אבל בגירסת הסיסמה, התווים הוחלפו בנקודות. למעשה אפשר לשלוט על אילו תווים יוצגו במקום התווים האמיתיים, תוך שימוש בתכונה PasswordChar:

<PasswordBox PasswordChar="X" />

במקרה הזה, התו X יוצג במקום הנקודות. אם יש לך צורך לשלוט על אורך הסיסמה, יש את התכונה MaxLength בשבילך:

<PasswordBox MaxLength="6" />

השתמשתי בשתי התכונות בדוגמה המעודכנת הזו:

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

שימו לב שכעת התווים הם X במקום, ושהרשיתי להכניס רק 6 תווים בתיבה.

תיבת סיסמה וקישוריות (binding)

כשצריך לקבל את הסיסמה מתיבת הסיסמה, ניתן להשתמש בתכונה Password בקוד-מאחור. לעומת זאת, מסיבות של בטיחות, תכונת Password לא מיושמת כתכונת-תלות, מה שאומר שאי אפשר לקשר (bind) אליה.

ייתכן שזה יהיה חשוב בשבילך, וייתכן שלא - כפי שכבר נאמר, עדיין ניתן יהיה לקרוא את הסיסמה מהקוד-מאחור, אבל ליישומי MVVM, או סתם אם אוהבים להשתמש בקישוריות נתונים, פותחה דרך לעקיפת הבעיה. אפשר לקרוא עוד הרבה בנושא כאן: 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!