زیر نویس فارسی ویدیوهای ساخت برنامه‌های مترو توسط سی شارپ و XAML - قسمت آخر
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: یک دقیقه


زیرنویس‌های فارسی قسمت آخر «Building Windows 8 Metro Apps in C# and XAML» را از اینجا می‌تونید دریافت کنید.

این قسمت برای کسانی که می‌خواهند مروری بر مفاهیم Binding موجود در WPF و سیلورلایت داشته باشند و همچنین تفاوت‌های آن‌را با نمونه موجود در WinRT بررسی کنند، بسیار مفید است. در کل سیستم Binding موجود در WinRT یک نمونه ساده شده آنچیزی است که در سیلورلایت موجود است (و البته سیلورلایت هم یک نمونه ساده شده WPF است!).
برای مثال خاصیت UpdateSourceTrigger موجود در عبارات Binding مرتبط با WPF و سیلورلایت فعلا در WinRT وجود ندارد.
تفاوت دیگر این است که هرچند اینترفیس INotifyPropertyChanged در WinRT هم وجود دارد اما نمونه مهیای در فضای نام جدیدی به نام windows.ui.xaml.data توسط WinRT شناسایی می‌شود و اگر کدهای سایر فناوری‌های مشابه را به سیستم مترو تبدیل کنید، کار نخواهند کرد! چون این اینترفیس پیشتر در فضای نام System.ComponentModel تعریف شده بود و هنوز هم حضور دارد (فقط در حد یک تغییر سطر تعاریف فضاهای نام کفایت می‌کند).
یک تله دیگر هم در WinRT وجود دارد. در اینجا هم کلاسی به نام DependencyObject وجود دارد که ... معادل نمونه مشابه WPF و Silverlight نیست و XAML امکان تشخیص خودکار تغییرات خواص آن‌را ندارد.
همچنین اینترفیس INotifyCollectionChanged مرتبط با ObservableCollection موجود در WPF و Silverlight در WinRT فعلا وجود خارجی ندارند (هرچند هنوز در خود دات نت فریم ورک وجود دارند، اما کار نمی‌کنند). به نظر قرار است تا قبل از ارائه نهایی ویندوز 8 در این مورد تصمیم گیری شود. اما در اینجا باید از IObservableVector استفاده کرد! (کلا این کلمه Vector ابراز وجود زاید طراحان سی++ مترو است! یعنی ما هنوز هم زنده‌ایم و سی++ هنوز هم مهم است!)
نحوه گروه بندی اطلاعات نیز تغییر کرده است و باید منبع داده‌ای، اینترفیس جدید IGroupInfo را پیاده سازی کند. به علاوه CollectionViewSource آن نیز فعلا قابلیت‌های جستجو و مرتب سازی موجود در WPF و سیلورلایت را ارائه نمی‌دهد.

  • #
    ‫۱۲ سال و ۸ ماه قبل، چهارشنبه ۲۶ بهمن ۱۳۹۰، ساعت ۰۳:۱۵
    امیدوارم WinRT همینطوری نمونه