معرفی

در این آموزش شما با WPF از پایه آشنا شده و با تمام موارد مربوط به استایل نویسی، تمپلیت نویسی و… آشنا میشوید. در ادامه میتوانید از معماری MVVM در برنامه های خود استفاده کرده و اقدام به ایجاد کنترل های اختصاصی (CustomCotrol) نمایید. همچنین در فصل اخر اقدام به ایجاد چندین پروژه بصورت پروژه محور خواهیم کرد. که شامل نرم افزار رابط کاربری برای پلتفرم winget مایکروسافت، دریافت زیرنویس از سایت Subscene، دریافت اطلاعات مربوط به کرونا ویروس و رسم نمودار و دریافت اطلاعات فیلم و سریال از سایت imdb  همچنین نحوه ارتباط با دیتابیس نیز در این دوره موجود می باشد.

این دوره در ۶ فصل تهیه شده و از مقدماتی شروع شده و تا سطح پیشرفته ادامه می یابد.

  • در این دوره آموزش WPF از جدیدترین نسخه ها و تکنولوژی های تازه معرفی شده استفاده شده مثل (.Net Core 3, Net 5, EntityFrameWork Core
  • بدلیل استفاده از الگوریتم RAR5 برای فشرده کردن فایل‌ها جهت آنپک کردن از نسخه آخر Winrar استفاده کنید.

نمونه پروژه هایی که در دوره آموزش WPF توسعه خواهیم داد.

  • پروژه imdb را در تصویر زیر مشاهده میکنید.
  • میتوانید برای مشاهده ی دموی پروژه ها فایل تصاویر را از لیست دانلود مشاهده کنید.

تکنولوژی های مورد استفاده آموزش WPF

مواردی که در این دوره آموزش WPF یاد خواهید گرفت

قدم اول : پایه و اساس WPF و XAML

    سطح آموزش: مقدماتی (۲۵ جلسه آموزشی)
  • آموزش نصب ویژوال استودیو
  • آشنایی با xaml و Resources
  • آموزش تمام کنترل های پایه موجود در WPF
  • (PasswordBox-Rectangle-RadioButton-RichTextControl- Menus-ContextMenu-Statusbar- TabControl-ToolbarTray- Border-Slider-GroupBox-Expander-Progressbar-Ribbon- ItemControl-ListBox-ComboBox- ToolTip-TextRendering-TabOrder-AccessKey- ToolTip- ListView-Group-Sort-Filter- TreeView- DataGrid- RepeatButton-TextBlock-TextBox-Label-Image-CheckBox)
  • آموزش انواع پنل ها (Panels-Canvas-WrapPanel-Grid-UniformGrid-GridSpliter-StackPanel-DockPanel)
  • آموزش DataBinding
  • آموزش Converter
  • آموزش فرمت بندی متن در xaml
  • آموزش InotifyPropertyChanged  و ObservableCollection
  • آموزش Command ها در WPF شامل (SystemCommands / CustomCommands / RelayCommand)
  • آموزش کار با انواع دیالوگ ها (OpenFileDialog-SaveFileDialog-FolderBrowserDialog-CustomDialog)
  • آموزش استفاده از سیستم رندر کردن متن
  • آموزش نوشتن استایل
  • آموزش نوشتن انواع تریگر DataTriggers-Triggers-MultiDataTrigger
  • آموزش پخش رسانه های مختلف فیلم و صدا
  • آموزش استفاده از تایمر
  • آموزش استفاده از backgroundworker
  • آموزش استفاده از Task
  • آموزش کار با تصاویر ۲ بعدی Geometry
  • آموزش کار با انیمیشن
  • آموزش استفاده از HotReload و Visual Tree در xaml
  • جستجو در کنترل های ListBox و Datagrid به روش CollectionView

قدم دوم : ورود به دنیای WPF

    سطح آموزش: متوسط (۳۴ جلسه آموزشی)
  • آموزش ایجاد  کنترلهای xaml  در سی شارپ (Code behind)
  • استفاده از فونت در برنامه بدون نیاز به نصب در سیستم کاربر
  • ساخت برنامه های چندزبانه (پویا و استاتیک) استفاده از فایل های Json, Resx, xaml
  • آموزش گزارش گیری از برنامه
  • آموزش استفاده از سرویس AppCenter برای گزارش گیری
  • آموزش کار با Enum ها در سی شارپ و Xaml (اتصال به کنترل ها مثل ComboBox)
  • کار با رجیستری ویندوز
  • آموزش ایجاد فایل تنظیمات برنامه بصورت فایل Json
  • آموزش اجرای برنامه با منوی کلیک راست ویندوز
  • آموزش کتابخانه Newtonsoft.Json برای Serialize و Deserialize کردن فایل های json
  • آموزش ایجاد کلیدهای میانبر برای برنامه ShortCuts
  • استفاده از منوی popup
  • دسترسی به توابع از کلاس های مختلف
  • دریافت تاریخ شمسی
  • آموزش T4 (Text Template Transformation Toolkit) جهت ایجاد کدها بصورت لحظه ای
  • آموزش کار با بسته های nuget   (نصب بسته ها، ایجاد بسته ها و اپلود در سایت ناگت)
  • آموزش Git and Github (Commit/Push/Pull/PR,…)
  • آموزش استفاده از فریمورک Cake برای بیلد کردن پروژه
  • آموزش استفاده از توابع C++ در سی شارپ به کمک P/Invoke
  • آموزش استفاده از Xaml Behavior و Interaction های موجود
  • آموزش استفاده از Visual State
  • آموزش ایجاد انواع Extension Method
  • آموزش کرک برنامه های دات نت، و نحوه محافظت از کدها در قبال کرک شدن
  • آموزش ساخت Extension برای ویژوال استودیو همراه با Project Template
  • آموزش کار با انیمیشن در نرم افزار Blend
  • آموزش ساخت برنامه های WPF بر پایه net Core3 و Net 5
  • آموزش خروجی گرفتن برنامه ها بدون وابستگی به دات نت و در یک فایل Exe بدون استفاده از کتابخانه (دات نت کور ۳)
  • آموزش ایجاد پروژه های Shared
  • آموزش symbol ها مخصوص بیلد کردن با configuration های مخصوص
  • آموزش symbol های #if

قدم سوم : ارتباط با دیتابیس

    سطح آموزش: متوسط (۴ جلسه آموزشی)
  • آموزش کار با دیتابیس به روش Code First و EntityFrameWork Core
  • آموزش استفاده از Task ها و async / await همینطور cancel کردن task ها
  • آموزش روش Generic Repository
  • آموزش برنامه نویسی موازی Parallel

قدم چهارم :‌ آشنایی با کنترل های سفارشی

    سطح آموزش: پیشرفته (۲۲ جلسه آموزشی)
  • آموزش ساخت Custom Control (انتخاب کلاس پایه، Override کردن Metadata)
  • آموزش ساخت Speedometer (مشاهده در تصویر زیر)
  • آموزش ساخت RadialProgressbar
  • آموزش ساخت صفحه دارت همراه با انیمیشن (مشاهده در تصویر زیر)
  • آموزش Bundle کردن بسته Custom Control
  • آموزش ساخت ساعت آنالوگ همراه با عقربه (مشاهده پروژه در تصویر زیر)
  • آموزش ایجاد پروژه های MultiTarget
  • آموزش استخراج template کنترل ها
  • آموزش Presenter ها (ContentPresenter، ItemsPresenter)
  • آموزش DataBinding در CustomControl
  • دسترسی به المنت های ResourceDictionary در کلاس کنترل
  • آموزش DependencyProperty (ایجاد پراپرتی برای کنترل)
  • آموزش ReadOnlyProperty
  • آموزش CollectionType و iList
  • آموزش ایجاد AttachedProperty
  • آموزش ایجاد RoutedEvent
  • آموزش ایجاد Theme و پوسته
  • حل مشکل DesignTimeResource
  • استفاده از CustomControl های متن باز و آماده

قدم پنجم :‌ شیرجه عمیق به MVVM Prism

    سطح آموزش: پیشرفته (۱۷ جلسه آموزشی)
  • آموزش استفاده از معماری MVVM به کمک Prism
  • ایجاد CustomRegionAdapter
  • آموزش کار با View ها
  • آموزش ایجاد ماژول
  • آموزش رجیستر کردن CustomViewModel
  • آموزش DelegateCommand
  • آموزش IEventAgregator
  • آموزش Navigation بین View ها
  • آموزش ارسال پارامتر بین View ها
  • آموزش IDialogService
  • آموزش استفاده از ListBox، ComboBox و… در MVVM
  • آموزش ایجاد SplashScreen واقعی بارگذاری تا زمانی که برنامه بطور کامل اجرا شود
  • آموزش استفاده از TabControl در MVVM

قدم ششم : به کارگیری آموخته ها در عمل

    سطح آموزش: پیشرفته و تجربی (۱۲ جلسه آموزشی)
  • آموزش ایجاد CircularProgressbar همراه با انیمیشن
  • آموزش ایجاد برنامه دریافت اطلاعات مربوط به کرونا ویروس (آمار مربوط به مبتلایان، مرگ و میر، مشکوک و…) همراه با نمودار بصورت MVVM
  • آموزش ایجاد نرم افزار HandySub برای دانلود زیرنویس از سایت محبوب Subscene و دریافت اطلاعات مربوط به فیلم و سریال از سایت IMDB
  • آموزش ایجاد رابط کاربری و نرم افزار برای پلتفرم جدید مایکروسافت به اسم winget به نام HandyWinget برای نصب انواع از نرم افزار
  • آموزش کار با API و ارسال و دریافت اطلاعات
  • آموزش کار با HtmlAgilityPack برای تجزیه کردن تگ های Html و استخراج اطلاعات از صفحات وب
  • نرم افزار کرونا ویروس در تصویر زیر مشاهده میکنید.

دوره آموزش WPF مناسب چه افرادی است

  • افرادی که نیاز به یادگیری آخرین تکنولوژی ها و متدها دارند.
  • کسانی که میخواهند به دور از پیچیدگی و در کمترین زمان ممکن تمام موارد مربوط به WPF را به زبان فارسی یاد بگیرند.
  • کسانی که نیاز به طراحی رابط کاربری زیبا دارند.
  • افرادی که می‌خواهند از Winform به WPF کوچ کنند.
  • افرادی که می‌خواهند از دات نت فریمورک به Net Core3 دات نت کور۳ کوچ کنند.
  • افرادی که می‌خواهند کدهای خود را بدون نوشتن Event کنترل‌ها پیاده‌سازی کنند.
  • کسانی که به دنبال ساخت نرم‌افزارهای ریسپانسیو هستند.
  • افرادی که به دنبال یادگیری طراحی کنترل‌های سفارشی هستند.
  • کسانی که نیاز به یک نرم‌افزار سریع و بدون هنگ دارند. (کار با task  ها و برنامه‌نویسی async)
  • کسانی که نیاز به نرم‌افزارهای باکیفیت و حرفه‌ای دارند.
  • اگر شما هم علاقه‌مند به کسب درصدی از بازار جامعه برنامه‌نویسی هستید.
  • اگر به دنبال آشنایی با بهترین روش‌ها و تکنولوژی‌ها برای تولید نرم‌افزار هستید.