کنترل PasswordBox در WPF
PasswordBox کنترلی است که به کاربر اجازه واردن کردن کلمه عبور را به صورت ماسک شده، می دهد. زمانی که کاربر کاراکتری را تایپ می کند، به جای آن کاراکتر تایپ شده، کاراکتری که قبلا تعریف شده نمایش داده می شود (اکثرا از ستاره یا نقطه استفاده می شود). شما می توانید با استفاده از خاصیت PasswordChar کاراکتر مورد نظر را تنظیم کنید. در تصویر زیر می توانید سلسله مراتب مربوط به ارث بری کنترل PasswordBox را مشاهده کنید.
خاصیت های پر استفاده
در جدول زیر می توانید خاصت های پر استفاده مربوط به کنترل PasswordBox را به همراه توضیح مختصری در مورد هر کدام مشاهده کنید.
ردیف | توضیحات |
1 | MaxLength به منظور گرفتن یا تنظیم بیشترین طول ورودیی که توسط این کنترل باید هندل شود، استفاده می شود.. |
2 | Password به منظور گرفتن یا تنظیم کلمه عبور جاری استفاده می شود. |
3 | PasswordChar به منظور گرفتن یا تنظیم کاراکتری نمایشی استفاده می شود. |
4 | Resources منابع مربوط به کنترل را مشخص می کند (به ارث رسیده از FrameworkElement). |
رویدادهای پر استفاده
در جدول زیر می توانید رویدادهای پر استفاده مربوط به کنترل PasswordBox را به همراه توضیح مختصری در مورد هر کدام مشاهده کنید.
ردیف | توضیحات |
1 | GotFocus زمانی که بر روی کنترل فوکوس شود، این رویداد رخ می دهد (به ارث رسیده از UIElement). |
2 | LostFocus زمانی که کنترل فوکوس را از دست بدهد، این رویداد رخ می دهد (به ارث رسیده از UIElement). |
3 | PasswordChanged زمانی که مقدار خاصیت Password تغییر کند، رخ می دهد. |
4 | Paste زمانی که مقداری در داخل کنترل Paste شود، رخ می دهد. |
مثال
برای درک بهتر یک پروژه WPF ایجاد کرده و محتوای آن را مانند نمونه زیر تغییر دهید. محتوای فایل MainWindow.xaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <Window x:Class = "PasswordBox.MainWindow" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "MainWindow" Height = "350" Width = "604"> <Grid > <PasswordBox x:Name = "pwBox" Height = "35" Width = "200" MaxLength = "8" Margin = "159,55,158,229" /> <Label Content = "Password" HorizontalAlignment = "Left" Margin = "108,61,0,0" VerticalAlignment = "Top" Width = "70" /> <Button Content = "Ok" HorizontalAlignment = "Left" Margin = "406,64,0,0" VerticalAlignment = "Top" Width = "75" Click = "Button_Click"/> <Label Name = "statusText" HorizontalAlignment = "Left" Margin = "159,128,0,0" VerticalAlignment = "Top" Width = "200" Height = "38"/> </Grid> </Window> |
محتوای فایل MainWindow.xaml.cs :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | using System.Windows; namespace WPFPasswordBoxControl { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { if (pwBox.Password.ToString() == "wpf12345") statusText.Text = "Password Accepted"; else statusText.Text = "Wrong Password"; } } } |
همانطور که مشاهده می کنید در بخش کدهای سی شارپ، زمانی که بر روی دکمه کلیک شود، بررسی می کند که آیا مقدار وارد شده با “wpf12345” برابر است یا خیر. زمانی که کد فوق کامپایل و اجرا شود، خروجی زیر را تولید خواهد کرد:
هیچ نظری ثبت نشده است