با قسمت سوم که آخرین قسمت از این سریال آموزش متنی می باشد در خدمت شما هستیم. در این آموزش به صورت متنی در رابطه با مکانیسم پیادهسازی Navigation با استفاده از Xamarin.Forms Shell صحبت کردیم و در قسمتهای قبلی موضوعات مفیدی را خدمت شما عرض کردیم. در ابتدا توصیه میکنیم که در برای یادگیری هرچه بهتر Xamarin.Forms از بسته ی آموزش ویدئویی شروع به کار Xamarin.Forms و بسته ی آموزش ویدئویی عمیق Xamarin.Forms و ساخت برنامه های Cross-Platform از وبسایت پرووید استفاده کنید ضمناً برای کاربران پیشرفتهتر ما بسته بسته ی آموزش ویدئویی پروژه محور ساخت اپلیکیشن پیشرفته موبایل با Xamarin.Forms را پیشنهاد میکنیم.
در این قسمت میخواهیم در رابطه با مبحث Navigation با استفاده از Xamarin.Forms Shell صحبت کنیم.
زمانی که Page های برنامه را ایجاد کردید نیاز است که بتوانیم بین آنها Navigate کنیم. یکی از جذاب ترین قسمتهای Shell، آسانی استفاده کردن از سیستم Navigation با استفاده از Route ها می باشد. در ادامه این موضوع را بررسی خواهیم کرد.
سیستم Xamarin.Forms Shell مربوط به Navigation را با استفاده کردن از Uri ها که میتوانند شامل سه مولفه باشند پیاده سازی میکند. تصویر زیر این سه مولفه را نشان میدهد:
همانطور که گفته شد Uri که Xamarin.Forms Shell از آن استفاده میکند میتواند از سه عنصر تشکیل شود. و ساختار Route ایجاد شده شبیه به تصویر زیر خواهد بود:
به منظور استفاده کردن از Route ها شبیه دیگر Framework هایی که برای توسعه اپلیکیشنها در دات نت فریم ورک مورد استفاده قرار میگیرند میبایست آنها را Register کنیم، برای مثال می توانید از آموزش متنی توسعه وب اپلیکیشن با ASP.NET MVC استفاده کنید.
به منظور Register کردن یک Route میبایست که یک property به نام Route را به همراه نام مربوط به آن Route شبیه چیزی که در کد زیر مشاهده میکنید اضافه کنید:
<Shell>
<FlyoutItem
Route="animals">
<Tab
Route="domestic">
<ShellContent
Route="cats"
/>
<ShellContent
Route="dogs"
/>
</Tab>
<ShellContent
Route="monkeys"
/>
<ShellContent
Route="elephants"
/>
<ShellContent
Route="bears"
/>
</FlyoutItem>
<ShellContent
Route="about"
/>
</Shell>
Route هایی که با استفاده از کد قسمت بالا اضافه میشوند به سادگی سلسله مراتب عناصر Parent خود را دریافت میکنند، بنابراین اگر بخواهیم که ساختار سلسله مراتبی Route را بررسی کنیم میتوانیم به تصویر زیر نگاهی بیندازیم:
علاوه براین پس از ایجاد کردن Route ها میبایست Page ها را نیز Register کنیم.
برای Register کردن Page ها میبایست که خطی که در تصویر زیر مشاهده میکنید را اضافه کنیم:
همانطور که ممکن است حدس زده باشید ما میتوانیم در سیستم Xamarin.Forms Shell در Route هایی با انواع مختلف را داشته باشیم.
یکی از این نوعها Absolute می باشد با استفاده از Route هایی که به صورت Absolute مشخص میشوند به سادگی میتوانیم به یک Route کاملاً معتبر با استفاده از متد GoToAsync برویم. مثالی از این موضوع در در تصویر زیر نشان داده شده است:
نوع دیگری Route ها، Route های نسبی و یا Relative میباشند در این گونه از Route ها سیستم Navigation در Uri مورد نظر را به صورت نسبی به عنوان پارامتر متد GoToAsync مورد استفاده قرار میدهد. مثالی از این موضوع در کد زیر نشان داده شده است:
در این قسمت از وبسایت پرووید این آموزش کوتاه را به پایان می رسانیم، امیدواریم که این آموزش نیز مورد توجه تمامی دوستان عزیز قرار گرفته باشد. در پایان توصیه میکنیم که برای یادگیری هرچه بهتر مباحث مربوط به Xamarin.Forms از بسته ی آموزش ویدئویی شروع به کار Xamarin.Forms استفاده کنید علاوه بر این به زودی آموزش ویدیویی Xamarin.Forms Shell بر روی وبسایت پرووید منتشر خواهد شد.