آموزش WPF

مباحث پایه WPF

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

کنترل های سفارشی در WPF – آموزش WPF

  • چهارشنبه ۲۷ مرداد ۱۴۰۰
  • بازدید ۱,۱۰۱ نفر

تصویر wpf-custom-controls_10689 کنترل های سفارشی در WPF - آموزش WPF

کنترل های سفارشی در WPF

کنترل های سفارشی زمانی به درد میخورند که کنترل های پیشفرض WPF نمیتوانند نیاز ما را برطرف کنند و یا نمی خواهیم برای کنترل های Third-Party هزینه کنیم. در این بخش نحوه ایجاد کنترل های سفارشی در WPF را بررسی خواهیم کرد. قبل از شروع ساخت کنترل سفارشی بهتر است اول User Control ها را بررسی کنیم.

User Control ها

برخلاف Custom Control که یک کنترل جدید را از ایجاد می کند، User Control تعدادی از کنترل های موجود را با هم ترکیب کرده و بسته XAML قابل استفاده تولید می کند.

مثال

برای درک بهتر یک پروژه WPF با نام WPFUserControl ایجاد کرده و آن را مانند نمونه زیر تغییر دهید. بر روی Solution Explorer کلیک راست کرده و گزینه Add > New Item را انتخاب کنید.

تصویر wpf-custom-controls_10689_1 کنترل های سفارشی در WPF - آموزش WPF

سپس مانند نمونه زیر گزینه User Control (WPF) را انتخاب کرده و نام آن MyUserControl قرار دهید.

تصویر wpf-custom-controls_10689_2 کنترل های سفارشی در WPF - آموزش WPF

بعد از کلیک بر روی Add دو فایل جدید مربوط به User Control ایجاد خواهد شد که یکی مربوط به کد C# و دیگری مربوط به کد XAML کنترل است. کد XAML کنترل را مانند نمونه زیر تغییر دهید:

همچنین کد سی شارپ را هم مانند نمونه زیر تغییر دهید:

و محتوای فایل MainWindow.xaml را به شکل زیر تغییر دهید:

زمانی که مثال فوق را کامپایل و اجرا کنید، خروجی زیر را تولید خواهد کرد:

تصویر wpf-custom-controls_10689_3 کنترل های سفارشی در WPF - آموزش WPF

اگر بر روی دکمه کلیک کنید، متن TextBox تغییر خواهد کرد:

تصویر wpf-custom-controls_10689_4 کنترل های سفارشی در WPF - آموزش WPF

کنترل های سفارشی

یک کنترل سفارشی در WPF، کلاسی است که Style و Template خودش را دارد و معمولا در فایل Generic.xaml تعریف می شود. از این نوع کنترل ها می توان در سناریو های زیر استفاده کرد:

  • اگر کنترل مورد نظر شما وجود ندارد و باید آن از اول ایجاد کنید.
  • اگر می خواهید یک کنترل موجود را توسعه داده و قابلیت ها جدید به آن اضافه کنید.
  • اگر می خواهید کنترل را در کل برنامه به اشتراک بگذارید.

مثال

برای درک بهتر یک پروژه WPF با نام WPFCustomControls ایجاد کرده و آن را مانند نمونه زیر تغییر دهید. بر روی Solution Explorer کلیک راست کرده و گزینه Add > New Item را انتخاب کنید.

تصویر wpf-custom-controls_10689_1 کنترل های سفارشی در WPF - آموزش WPF

سپس مانند نمونه زیر گزینه Custom Control (WPF) را انتخاب کرده و نام آن MyCustomControl قرار دهید.

تصویر wpf-custom-controls_10689_5 کنترل های سفارشی در WPF - آموزش WPF

بر روی دکمه Add کلیک کنید تا دو فایل جدید (Themes/Generic.xaml و MyCustomControl.cs) به پروژه اضافه شود. محتوای فایل Generic.xaml را مانند نمونه زیر تغییر دهید:

محتوای فایل MyCustomControl.cs:

محتوای فایل MainWindow.xaml.cs:

محتوای فایل MainWindow.xaml:

زمانی که مثال فوق را کامپایل و اجرا کنید، خروجی زیر را تولید خواهد کرد:

تصویر wpf-custom-controls_10689_6 کنترل های سفارشی در WPF - آموزش WPF

اگر بر روی کنترل سفارشی کلیک کنید، متن TextBlock مانند نمونه زیر تغییر خواهد کرد:

تصویر wpf-custom-controls_10689_7 کنترل های سفارشی در WPF - آموزش WPF

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

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