آموزش WPF

مباحث پایه WPF

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

قالب ها در WPF – آموزش WPF

  • پنجشنبه ۱۴ مرداد ۱۴۰۰
  • بازدید ۱۱۸ نفر

wpf templates 10639 تصویر

قالب ها در WPF

قالب ها در WPF به منظور توصیف ظاهری یک کنترل استفاده می شوند. برای هر کنترل در WPF یک قالب (Template) پیش فرض وجود دارد که ظاهر پیش فرض هر کنترل را شکل می دهد. در WPF شما به راحتی می توانید قالب یک کنترل را شخصی سازی کرده و یا قالب مورد نظر خود را ایجاد کنید.

به منظور ارتباط قالب ها با منطق برنامه از قابلیت Data Binding استفاده می شود. تفاوت اصلی بین Styles و Templates در این است که با استفاده از استایل فقط می توانیم ظاهری که یک کنترل دارد را شخص سازی کنیم اما استفاده از قالب ها علاوه بر شخص سازی ظاهری امکان اضافه کردن خاصیت های جدید و تغییر رفتار کنترل و در کل قابلیت های بیشتری در اختیار ما قرار می دهد. در WPF دو نوع قالب وجود دارد که در زیر مشاهده میکنید:

  • Control Template
  • Data Template

تفاوت دو نوع قالب ذکر شده در این است که Data Template همانطور که از اسم آن نیز مشخص است، به منظور ارائه یک ساختار بصری برای نمایش داده ها استفاده می شود، در حالی که Control Template هیچ کاری با داده مربوط به کنترل ندارد و برای ارائه طرحی برای خود کنترل استفاده می شود. به زبان ساده‌تر Control Template  نحوه نمایش خود کنترل و Data Template نحوه نمایش داده را توصیف می کند.

مثال Control Template

برای درک بهتر به مثال زیر توجه کنید. در این مثال ما دو عدد Button ایجاد کرده ایم که قالب Button اول را شخصی سازی کرده ایم و قالب Button دوم همان قالب پیش فرض خود WPF است.

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

wpf templates 10639 1 تصویر

اگر اشاره گر ماوس بر روی Button اول که شخصی سازی شده است ببرید، ظاهر آن مانند نمونه زیر تغییر خواهد کرد:

wpf templates 10639 2 تصویر

مثال Data Template

یک پروژه WPF با نام WPFDataTemplates ایجاد کرده و محتوای آن را مانند نمونه زیر تغییر دهید. محتوای فایل MainWindow.xaml:

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

زمانی که مثال فوق را کامپایل و اجرا کنید، خروجی زیر را تولید خواهد کرد که یک شامل یک ListBox است. آیتم های این ListBox شخصی سازی شده اند و هر کدام شامل نام و سن تعریف شده در شیء person هستند.

wpf templates 10639 3 تصویر

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

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