آموزش WPF

مباحث پایه WPF

مثال های کاربردی WPF

کنترل CheckBox در WPF – آموزش WPF

  • پنجشنبه ۲۲ آبان ۱۳۹۹
  • بازدید ۹۱۲ نفر

wpf checkbox 9357 تصویر

کنترل Checkbox در WPF

Checkbox کنترلی است که کاربر را قادر می سازد تا از بین یک یا چند گزینه یک یا چند مورد را انتخاب کند (Checked) یا نکند (Unchecked). این کنترل معمولا به منظور نمایش لیستی از گزینه هایی که کاربر می تواند آن ها را انتخاب کند استفاده می شود. در تصویر زیر سلسله مراتب ارث بری کلاس CheckBox را مشاهده می کنید.

wpf checkbox 9357 1 تصویر

خاصیت های پرکاربرد

در جدول زیر می توانید خاصت های پر استفاده مربوط به کنترل CheckBox را به همراه توضیح مختصری در مورد هر کدام مشاهده کنید.

ردیف

توضیحات

۱

Background

به منظور گرفتن و یا تنظیم رنگ پس زمینه کنترل استفاده می شود (به ارث رسیده از Control).

۲

BorderBrush

به منظور گرفتن و یا تنظیم رنگ حاشیه کنترل استفاده می شود (به ارث رسیده از Control).

۳

BorderThickness

به منظور گرفتن و یا تنظیم میزان ضخامت حاشیه کنترل استفاده می شود (به ارث رسیده از Control).

۴

Content

به منظور گرفتن و یا تنظیم محتوای کنترل استفاده می شود (به ارث رسیده از ContentControl).

۵

ClickMode

به منظور گرفتن و یا تنظیم نوع کلیک بر روی کنترل استفاده می شود. حالت های قابل تنظیم عبارت اند از Hover، Press و Release (به ارث رسیده از ButtonBase).

۶

ContentTemplate

به منظور گرفتن و یا تنظیم قالبی که کنترل محتوای خود را نمایش می دهد استفاده می شود (به ارث رسیده از ContentControl).

۷

FontFamily

به منظور گرفتن و یا تنظیم نوع فونت محتوای کنترل استفاده می شود (به ارث رسیده از Control).

۸

FontSize

به منظور گرفتن و یا تنظیم اندازه فونت محتوای کنترل استفاده می شود (به ارث رسیده از Control).

۹

FontStyle

به منظور گرفتن و یا تنظیم استایل فونت محتوای کنترل استفاده می شود. مقادیر قابل تنظیم عبارت اند از Normal، Italic و Oblique (به ارث رسیده از Control).

۱۰

FontWeight

به منظور گرفتن و یا تنظیم میزان ضخامت فونت استفاده می شود (به ارث رسیده از Control).

۱۱

Foreground

به منظور گرفتن و یا تنظیم رنگ پیش زمینه (رنگ رویی) استفاده می شود (به ارث رسیده از Control).

۱۲

Height

به منظور گرفتن و یا تنظیم میزان ارتفاع کنترل استفاده می شود (به ارث رسیده از FrameworkElement).

۱۳

HorizontalAlignment

به منظور گرفتن و یا تنظیم تراز افقی کنترل در داخل کنترل والد استفاده می شود (به ارث رسیده از FrameworkElement).

۱۴

IsChecked

به منظور گرفتن و یا تنظیم وضعیت ToggleButton مربوط به چک باکس استفاده می شود (به ارث رسیده از ToggleButton).

۱۵

IsEnabled

به منظور گرفتن و یا تنظیم وضعیت فعال بودن یا نبودن کنترل استفاده می شود. زمانی که کنترلی غیرفعال باشد، کاربر نمی تواند با آن تعامل کند (به ارث رسیده از Control).

۱۶

IsPressed

یک مقدار بولی را برمیگرداند که نشان دهنده این است که آیا ButtonBase در یک حالت فشار داده شده قرار دارد یا خیر (به ارث رسیده از ButtonBase).

۱۷

IsThreeState

به منظور گرفتن و یا تنظیم این که آیا کنترل از سه حالته بودن پشتیبانی می کند یا خیر استفاده می شود (به ارث رسیده از ToggleButton).

۱۸

Margin

میزان فاصله بیرونی کنترل را مشخص می کند (به ارث رسیده از FrameworkElement).

۱۹

Name

به منظور تنظیم یک نام شناسایی برای کنترل استفاده می شود. زمانی که پردازنده XAML درخت اشیاء را ایجاد می کند، کد Run-time می تواند با استفاده از نام یک کنترل به آن ارجاع دهد (به ارث رسیده از FrameworkElement).

۲۰

Opacity

میزان شفافیت کنترل را مشخص می کند. مقدار قابل قبول باید بین ۰٫۰ تا ۱٫۰ باشد (به ارث رسیده از UIElement).

۲۱

Resources

منابع مربوط به کنترل را مشخص می کند (به ارث رسیده از FrameworkElement).

۲۲

Style

استایل مربوط به کنترل را تنظیم می کند (به ارث رسیده از FrameworkElement).

۲۳

Template

قالب کنترل را مشخص می کند. قالب کنترل مشخص می کند که یک کنترل چگونه باید نمایش داده شود (به ارث رسیده از Control).

۲۴

VerticalAlignment

تراز عمودی کنترل را در داخل کنترل والد مشخص می کند (به ارث رسیده از FrameworkElement).

۲۵

Visibility

وضعیت نمایش یک کنترل را مشخص می کند. کنترلی که قابل مشاهده نباشد، رندر نمی شود، بر اندازه لایه های دیگر تاثیر نمی گذارد و رویدادها و دستورات را هندل نمی کند (به ارث رسیده از UIElement).

۲۶

Width

به منظور گرفتن و یا تنظیم میزان عرض کنترل استفاده می شود (به ارث رسیده از FrameworkElement).

متدهای پرکاربرد

در جدول زیر می توانید متدهای پر استفاده مربوط به کنترل CheckBox را به همراه توضیح مختصری در مورد هر کدام مشاهده کنید.

ردیف

توضیحات

۱

ClearValue

مقدار یک Dependency Property را پاک می کند (به ارث رسیده از DependencyObject).

۲

FindName

شیء که نام مشخص شده را داشته باشد را پیدا می کند (به ارث رسیده از FrameworkElement).

۳

OnApplyTemplate

هر زمان که در کد برنامه یا فرآیندهای داخلی متد ApplyTemplate فراخوانی شود، این متد invoke می شود. به زبان ساده تر این متد قبلا از اینکه ظاهر کنترل نمایش داده شود، invoke می شود (به ارث رسیده از FrameworkElement).

۴

OnContentChanged

زمانی که مقدار خاصیت Content تغییر کنید این متد invoke می شود. (به ارث رسیده از ContentControl).

۵

OnDragEnter

قبل از اینکه رویداد DragEnter اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۶

OnDragLeave

قبل از اینکه رویداد DragLeave اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۷

OnDragOver

قبل از اینکه رویداد DragOver اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۸

OnDrop

قبل از اینکه رویداد Drop اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۹

OnGotFocus

قبل از اینکه رویداد GotFocus اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۱۰

OnKeyDown

قبل از اینکه رویداد KeyDown اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۱۱

OnKeyUp

قبل از اینکه رویداد KeyUp اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۱۲

OnLostFocus

قبل از اینکه رویداد LostFocus اتفاق افتد، این متد فراخوانی می شود (به ارث رسیده از Control).

۱۳

OnToggle

زمانی که کنترل محرک Toggle را دریافت کند، این متد فراخوانی می شود (به ارث رسیده از ToggleButton).

۱۴

SetBinding

این متد به منظور بایند کردن مقادیر استفاده می شود (به ارث رسیده از FrameworkElement).

رویدادهای پرکاربرد

در جدول زیر می توانید رویدادهای پر استفاده مربوط به کنترل CheckBox را به همراه توضیح مختصری در مورد هر کدام مشاهده کنید.

ردیف

توضیحات

۱

Checked

زمانی که حالت کنترل به انتخاب شده تغییر کند، این رویداد رخ می دهد (به راث رسیده از ToggleButton).

۲

Click

زمانی که بر روی دکمه کلیک شود، این رویداد رخ می دهد (به ارث رسیده از ButtonBase).

۳

DataContextChanged

زمانی که مقدار خاصیت DataContext تغییر کند، این رویداد رخ می دهد (به ارث رسیده از FrameworkElement).

۴

DragEnter

زمانی که سیستم ورودی یک رویداد drag که هدفش این کنترل است را گزارش دهد، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۵

DragLeave

زمانی که سیستم ورودی یک رویداد drag که منشاء آن این کنترل است را گزارش دهد، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۶

DragOver

زمانی که سیستم ورودی یک رویداد drag را با این کنترل به عنوان هدف drop شدن، گزارش دهد، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۷

DragStarting

زمانی که عملیات drag کردن شروع شود، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۸

GotFocus

زمانی که بر روی کنترل فوکوس شود، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۹

Intermediate

زمانی که حالت کنترل به indeterminate تغییر کند، این رویداد رخ می دهد (به راث رسیده از ToggleButton).

۱۰

IsEnabledChanged

زمانی که مقدار خایت IsEnabled تغییر کند، این رویداد رخ می دهد (به ارث رسیده از Control).

۱۱

KeyDown

زمانی که یک کلید از کیبورد فشار داده شود و فوکوس جاری بر روی کنترل باشد، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۱۲

KeyUp

زمانی که کلید فشار داده شده رها شود و فوکوس جاری بر روی کنترل باشد، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۱۳

LostFocus

زمانی که کنترل فوکوس را از دست بدهد، این رویداد رخ می دهد (به ارث رسیده از UIElement).

۱۴

SizeChanged

زمانی که مقدار یکی از خاصیت های ActualHeight و یا ActualWidth تغییر کند، این رویداد رخ می دهد (به ارث رسیده از FrameworkElement).

۱۵

Unchecked

زمانی که حالت کنترل به انتخاب نشده تغییر کند، این رویداد رخ می دهد (به راث رسیده از ToggleButton).

مثال:

یک پروژه WPF با نام WPFCheckBoxControl ایجاد کنید و سپس دو کنترل CheckBox و دو کنترل TextBox را به پنجره اصلی برنامه اضافه کنید و خاصیت آن ها را به صورت زیر تغییر کنید.

کنترل

خاصیت

مقدار

Checkbox1ContentTwo States
NamecheckBox1
Width۹۰
Checkbox2ContentThree States
NamecheckBox2
Width۹۰
textbox1NametextBox1
Width۳۰۰
Textbox2NametextBox2
Width۳۰۰

اگر به کدهای XAML نگاه کنید، مشاهده خواهید کرد که کدهای مربوط به CheckBox ها و TextBox ها ایجاد شده است. حال آن کدها را به صورت زیر تغییر دهید و هندلر های مختلف را اضافه کنید.

کدهای C# مربوط به مثال:

اگر برنامه را کامپایل و اجرا کنید خروجی زیر را تولید می کند و اگر حالت CheckBox ها را تغییر دهید همراه با آن ها محتوای TextBox ها هم تغییر می کند.

wpf checkbox 9357 2 تصویر

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است