
آموزش Resource ها و Style ها در Xamarin.Forms
آموزش Resource ها و Style ها در Xamarin.Forms یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی کار کردن با Resource و Style ها در Xamarin.Forms است که با نام اصلی Resources and Styles in Xamarin.Forms از شرکت Pluralsight منتشر شده است.
Resource ها در Xamarin.Forms
یک Resource Dictionary در واقع یک Repository است که در آن Resource ها تعریف شده و سپس میتوانند در اپلیکیشن های Xamarin.Forms مورد استفاده قرار گیرند. بطور معمول Resource ها شامل مواردی از قبیل Style ها، Control Template ها، Data Template ها، Color ها و Converter ها خواهند بود. در زبان XAML یک Resource در یک Resource Dictionary تعریف میشود و میتواند به منظور استفاده شدن توسط دیگر Element ها با یکی از دو Markup Extension موجود یعنی ResourceStatic و یا ResourceDynamic مورد دسترسی قرار بگیرند. موضوع دیگر اینکه میتوان Resource ها را در یک Resource Dictionary در زبان سی شارپ نیز تعریف کرد و سپس با استفاده از یک Indexer مبتنی بر String انها را دریافت نموده و به Element های مورد نظر لحاظ کرد. استفاده و پیاده سازی Resource Dictionary در زبان برنامه نویسی سی شارپ توصیه نمی شود چون با تعریف کردن یک Resource Dictionary در XAML شما میتوانید به سادگی Object های مورد نظر خود را در قالب فیلدها ویا پراپرتی ها ذخیره کرده و سپس انها را به طور مستقیم و بدون نیاز به بازیابی کردنشان از دیکشنری مورد نظر به Element ها لحاظ کنید.
نکته دیگر اینکه هر Object ای که از کلاس VisualElement ارث بری کرده باشد یک پراپرتی به نام Resources دارد، که این Resources در واقع از نوع Resource Dictionary است و میتواند شامل Resource هایی بشود. به طور مشابه یک Object ارث بری شده از کلاس Application نیز یک پراپرتی Resources خواهد داشت. این پراپرتی نیز از نوع Resource Dictionary می باشد و می تواند Resource هایی را در خود قرار بدهد. در یک برنامه ایجاد شده Xamarin.Forms فقط از یک کلاس App خواهیم داشت که از کلاس اصلی Application ارث بری کند اما کلاس های زیادی وجود دارند که از کلاس VisualElement ارث بری میکنند. برای مثال مفاهیمی از قبیل Page ها، Layout ها و Control ها تماماً از کلاس VisualElement ارث بری میکنند. هر کدام از این Object ها می توانند یک پراپرتی به نام Resources داشته باشند که در آنها یک Resource Dictionary قرار بگیرد.

نکته دیگر اینکه مکان تعریف کردن یک Resource Dictionary بر روی نحوه استفاده شدن از آن تاثیر می گذارد. Resource هایی که در یک Resource Dictionary تعریف میشوند و سپس آن Resource Dictionary به یک View از قبیل یک Button و یا Label اصطلاحاً Attach می شوند فقط میتوانند بر روی همان تک Object به خصوص لحاظ بگردند. Resource هایی که در یک Resource Dictionary تعریف میشوند و سپس آن Resource Dictionary به یک Layout اصطلاحاً Attach می شود میتواند توسط تمامی کنترل های فرزند آن Layout و خود آن Layout مورد استفاده قرار بگیرند. منظور ما در این قسمت از Layout مواردی از قبیل StackLayout و یا Grid می باشد. Resource هایی که در یک Resource Dictionary تعریف شده در سطح یک Page قرار می گیرند می توانند به تمامی آن Page و تمامی کنترل های موجود بر روی آن لحاظ بشوند و نیز می توانند به تمامی قسمت های مختلف اپلیکیشن لحاظ بگردند. به غیر از Implicit Style هایی که یک استثنا در این رابطه هستند، هر Resource در یک Resource Dictionary می بایستی یک کلید منحصر به فرد از نوع String داشته باشد که با استفاده از یک Attribute به شکل x:Key تعریف می گردد.
نحوه استفاده از Style در Xamarin.Forms
در توسعه اپلیکیشنهای موبایل با Xamarin.Forms، یکسان نگه داشتن ظاهر کنترلهای مختلف میتواند به خوانایی رابط کاربری و سهولت نگهداری کد کمک کند. Style به شما اجازه میدهد ویژگیهای ظاهری و رفتاری مشخصی را تعریف کنید و آنها را در کنترلهای مختلف به کار ببرید. بهجای تنظیم جداگانه ویژگیهایی مانند رنگ، اندازه فونت و فاصلهها برای هر کنترل، میتوانید تنظیمات مشترک را در یک محل تعریف کنید و از تکرار کدهای XAML جلوگیری کنید.
استفاده اصولی از Style بهخصوص در اپلیکیشنهایی که صفحات و کنترلهای متعددی دارند اهمیت پیدا میکند. زمانی که ظاهر یک گروه از کنترلها باید تغییر کند، مدیریت تنظیمات مشترک در قالب Style میتواند فرایند اصلاح رابط کاربری را سادهتر کند. این روش علاوه بر کاهش تکرار، باعث میشود هماهنگی بصری میان بخشهای مختلف اپلیکیشن بهتر حفظ شود و توسعهدهنده بتواند تغییرات ظاهری را با ساختاری منظمتر مدیریت کند.
Resource Dictionary در Xamarin.Forms چه کاربردی دارد؟
Resource Dictionary در Xamarin.Forms محلی برای تعریف و نگهداری منابعی است که بخشهای مختلف اپلیکیشن میتوانند از آنها استفاده کنند. این منابع میتوانند شامل رنگها، Styleها، Templateها و مقادیر دیگری باشند که در رابط کاربری کاربرد دارند. با سازماندهی منابع در یک Dictionary، لازم نیست تنظیمات مشترک را در صفحات مختلف تکرار کنید. این ساختار به شما کمک میکند عناصر مشترک رابط کاربری را از کد مربوط به هر صفحه جدا نگه دارید و مدیریت آنها را سادهتر کنید.
یکی از مزایای این روش، امکان استفاده مجدد از منابع در قسمتهای مختلف برنامه است. برای مثال، اگر چندین صفحه از رنگ یا Style مشخصی استفاده میکنند، تعریف آن بهعنوان یک Resource باعث میشود مقدار موردنظر در محل مناسبی نگهداری شود. در نتیجه، تغییر تنظیمات مشترک آسانتر خواهد بود و احتمال ایجاد تفاوتهای ناخواسته میان صفحات کاهش پیدا میکند. شناخت نحوه تعریف و استفاده از Resource Dictionary برای توسعهدهندگانی که با XAML در Xamarin.Forms کار میکنند، اهمیت زیادی دارد.
مدیریت ظاهر یکپارچه اپلیکیشنهای موبایل با Xamarin.Forms
یکپارچگی ظاهری یکی از نکات مهم در طراحی رابط کاربری اپلیکیشنهای موبایل است. اگر رنگها، فونتها و سایر ویژگیهای بصری در بخشهای مختلف برنامه بدون الگوی مشخصی تنظیم شوند، تغییر و نگهداری رابط کاربری دشوارتر خواهد شد. استفاده از منابع مشترک و Styleها در Xamarin.Forms به شما کمک میکند تنظیمات ظاهری را به شکل منظمتری سازماندهی کنید. این کار باعث میشود عناصر مختلف رابط کاربری از قواعد مشترکی پیروی کنند و اعمال تغییرات کلی سادهتر انجام شود.
برای دستیابی به چنین ساختاری، لازم است میان منابع قابل استفاده مجدد و تنظیمات اختصاصی هر کنترل تمایز قائل شوید. برخی ویژگیها ممکن است در سراسر اپلیکیشن مشترک باشند، درحالیکه برخی دیگر تنها برای یک صفحه یا کنترل خاص کاربرد دارند. سازماندهی درست این تنظیمات به شما امکان میدهد بدون پیچیده کردن ساختار XAML، رابط کاربری قابل نگهداریتری بسازید. این رویکرد در پروژههای بزرگتر که تعداد صفحات و کنترلها افزایش پیدا میکند، اهمیت بیشتری خواهد داشت.
سرفصل مطالب آموزش ویدئویی Resource و Style ها در Xamarin.Forms
فصل اول: مقدمه
- مقدمه دوره آموزشی
فصل دوم: کارکردن با Style ها و Resources در Xamarin.Forms
- پیدا کردن کد های تکراری
- بررسی برنامه و پیدا کردن کد های تکراری
- تعریف کردن و استفاده از Resource ها
- تعریف کردن Resource ها در سطح Page ها
- استفاده کردن و بروز رسانی کردن Dynamic Resource ها
- بروز رسانی کردن Resource ها بصورت Dynamic
- ایجاد کردن یک UI یک شکل با استفاده از Style ها
- ایجاد کردن و اعمال کردن Style ها
- استفاده کردن از وراثت در Style ها برای Refactor کردن کد های تکراری
- ایجاد کردن و استفاده کردن از Resource ها در سرتا سر برنامه
- استفاده کردن از Resource ها در سرتا سر برنامه
- اعمال کردن گزینه های دسترسی با Style از قبل موجود
- بررسی Resource ها و Style ها در Xamarin.Forms







