دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۹
  • اسفند

جلسه ۱۴ : بررسی Resources یا منابع در WPF

  • دسته‌بندی‌ها :
جلسه ۱۴ : بررسی Resources یا منابع در WPF
    • جزئیات
    • نوع محتواآموزشی

      دوستان و علاقمندان به مباحث WPF وقتتون بخیر. با آموزش WPF از وب سایت آموزشی پی وی لرن همراهتون هستیم. بررسی Resources یا منابع در WPF را در این بخش از آموزش خواهیم داشت. در ادامه با ما همراه باشید.

      بررسی Resources یا منابع در WPF

      منابع (Resource) معمولاً تعاریفی هستند که با برخی از اشیایی ارتباط دارند که پیش بینی می کنید بیش تر از یک بار از آن ها استفاده کنید. این امکان ذخیره داده به صورت محلی برای کنترل ها یا پنجره فعلی یا در سطح عمومی برای کل برنامه ها است.

      تعریف یک شی به عنوان یک منبع به ما اجازه می دهد تا از جای دیگری به آن دسترسی پیدا کنیم. به این معنی است که می توان از شی استفاده مجدد کرد. Resources در دیکشنری منابع تعریف شده اند و هر شیئی را می توان به عنوان منبعی تعریف کرد که آن را به عنوان یک دارایی قابل اشتراک تبدیل می کند. یک کلید منحصر به فرد و یونیک برای یک منبع XAML مشخص شده است و با استفاده از یک برنامه افزودنی نشانه گذاری StaticResource می توان به آن اشاره کرد.

      منابع می توانند از دو نوع باشند.

      • منبع StaticResource
      • DynamicResource

      StaticResource یک جستجوی onetime (یک بار) است ، در حالی که یک DynamicResource بیش تر شبیه به اتصال داده (data binding) است. به یاد می آورد که یک خاصیت با یک کلید منبع خاص همراه است. اگر شیء مرتبط با آن کلید تغییر کند ، منبع پویا خاصیت هدف را به روز می کند.

      مثال
      در این جا یک برنامه ساده برای منابع SolidColorBrush آورده شده است.

      بیایید یک پروژه WPF جدید با نام WPFResouces ایجاد کنیم.

      دو مستطیل بکشید و خصوصیات آن ها را مطابق با کد XAML زیر نشان دهید.

      مثال : 

      در کد XAML فوق می بینید که یک مستطیل دارای StaticResource و دیگری دارای DynamicResource و رنگ brushResource Bisque است.

      وقتی کد را کامپایل و اجرا می کنید ، MainWindow زیر را تولید می کند.

       

      بررسی Resources یا منابع در WPF

      بررسی Resources یا منابع در WPF

      با کلیک بر روی دکمه “Change Resource” ، می بینید که مستطیل با DynamicResource رنگ خود را به Red تغییر می دهد.

       

      بررسی Resources یا منابع در WPF

      بررسی Resources یا منابع در WPF

      دامنه منابع

      منابع در دیکشنری منابع تعریف شده اند ، اما مکان های بی شماری وجود دارد که یک دیکشنری منابع را می توان تعریف کرد. در مثال بالا ، یک دیکشنری منبع در سطح Window / page تعریف شده است. در آن چه که دیکشنری یک منبع تعریف شده است ، بلافاصله دامنه آن منبع را محدود می کند. بنابراین دامنه ، یعنی جایی که می توانید از منابع استفاده کنید بستگی به جایی دارد که شما آن را تعریف کرده باشید.

      • اگر منبع را در دیکشنری منبع یک گرید تعریف کنید ، آن فقط توسط آن گرید و توسط عناصر کودک آن قابل دسترسی است.
      • آن را بر روی یک پنجره / صفحه تعریف کنید و آن توسط همه عناصر موجود در آن پنجره / صفحه قابل دسترسی است.
      • ریشه برنامه را می توانید در دیکشنری منابع App.xaml پیدا کنید. ان ریشه برنامه ما است ، بنابراین منابع تعریف شده در این جا به کل برنامه محدود می شوند.

      در مورد دامنه منابع ، بیش ترین سطح برنامه ، سطح صفحه و سطح عنصر خاص مانند Grid ، StackPanel و غیره است.

       

      بررسی Resources یا منابع در WPF

      بررسی Resources یا منابع در WPF

      برنامه فوق دارای منابع در سطح Window / page است.

      دیکشنری های منابع

      منابع دیکشنری در برنامه های XAML نشان می دهد که دیکشنری منابع در فایل های جداگانه نگه داری می شوند. تقریباً در تمام برنامه های XAML دنبال می شود. تعریف منابع در فایل های جداگانه می تواند مزایای زیر را داشته باشد.

      • تفکیک بین تعریف منابع در دیکشنری منابع و کد مرتبط با UI.
      • تعیین همه منابع در یک فایل جداگانه مانند App.xaml باعث می شود آن ها در سراسر برنامه در دسترس باشند.

      بنابراین ، حال چگونه می توان منابع خود را در یک دیکشنری منابع در یک فایل جداگانه تعریف می کنیم؟ خوب ، این کار بسیار آسان است ، فقط با استفاده از مراحل زیر در Visual Studio یک دیکشنری منبع جدید می توانید اضافه کنید.

      • در راه حل خود ، یک پوشه جدید اضافه کنید و نام آن را ResourceDroulette بگذارید.
      • بر روی این پوشه راست کلیک کرده و از Add submenu گزینه Resource Dictionary را انتخاب کرده و آن را DictionaryWithBrush.xaml بنامید.

      مثال

      بیایید همین مثال را بیاوریم ، اما در این جا ، دیکشنری منابع را در سطح برنامه تعریف خواهیم کرد. کد XAML برای MainWindow.xaml به شرح زیر است.

      مثال : 

      در این جا پیاده سازی در DictionaryWithBrush.xaml می باشد.

      مثال : 

      در این جا پیاده سازی در app.xaml می باشد.

      مثال : 

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

       

      بررسی Resources یا منابع در WPF

      بررسی Resources یا منابع در WPF

      وقتی دکمه Change Resource را بزنید ، مستطیل رنگش را به Red تغییر می دهد.

       

      بررسی Resources یا منابع در WPF

      بررسی Resources یا منابع در WPF

      توصیه می کنیم که کد فوق را اجرا کرده و منابع بیش تری را امتحان کنید (مثلاً رنگ پس زمینه).

      کلام پایانی

      بررسی Resources یا منابع در WPF را در این بخش از آموزش wpf دنبال نمودیم. در ادامه ی جلسات به بررسی Templates خواهیم پرداخت. دوستان با ما همراه باشید.

      QR:  جلسه ۱۴ : بررسی Resources یا منابع در WPF
      به اشتراک بگذارید