برنامه نویسی Desktop با WPF - سطح 2

مشخصات این دوره:

عنوان ترم جاری: شهریور ماه 96 (1)
مدرس: مهدی کرامتی
تاریخ شروع دوره: چهارشنبه 8 شهریور 1396
روز برگزاری: چهارشنبه
ساعت: 17:00 تا 20:00
طول مدت دوره: 30 ساعت (10 هفته متوالی)
شهریه: 800,000 تومان
 

خلاصه

WPF یک زیر سیستم گرافیگی مبتنی بر Vector می باشد که برای ایجاد رابط کاربری در برنامه های Desktop به کار می رود. WPF به دلیل Vector-Based بودن مکانیسم درونی اش می تواند سایز کامپوننت ها را بنا بر نیاز به هر ابعادی تغییر دهد، بدون اینکه در پیکسل ها و شکل ظاهری کنترل ها هیچ گونه تغییری احساس شود.

ممکن است برای شما این سوال پیش بیاید که با وجود Windows Forms چه نیازی به استفاده از WPF هست. اگر شما هم چنین سوالی داشته اید دلایل زیر را مطالعه کنید:

  1. در WPF امکان جداسازی رابط کاربری از کد برنامه به صورت موثر وجود دارد
  2. امکان Story Boarding برای ایجاد انمیشن به صورت Built-in در WPF وجود دارد
  3. اتصال به منابع داده (Data-Binding) در WPF بسیار پیشرفته تر و بهتر از Windows Forms شده است
  4. امکان کار با داده های حجیم در WPF به دلیل وجود مکانیسم "User Interface Visualization" به صورت Buit-in وجود دارد
  5. در WPF امکان استفاده از قالب برای داده ها و کنترل ها وجود دارد و با استفاده از آن می توان بر اساس Data Model رابط کاربری را مدل سازی کرد
  6. در WPF امکان استفاده از گرافیک 3 بعدی وجود دارد که توانایی ایجاد رابط های کاربری منحصر به فرد را به شما می دهد
  7. WPF امکان استفاده از انواع رسانه ها از جمله  ویدئو، گرافیک 3 بعدی و انیمیشن را در برنام ها به شما می دهد
  8. حتی خارج از ویژوال استودیو نیز می توانید کد رابط کاربری (XAML) را تغییر داده و بنا بر نیاز دستکاری کنید
  9. در WPF امکان استفاده از Business Object ها وجود دارد
  10. WPF به برنامه نویس ها امکان ایجاد برنامه به صورت کاملا تعریفی (Declrative) با استفاده از XAML را می دهد
  11. WPF امکانات موثرتری برای ایجاد کنترل ها و استفاده پذیری مجدد آنها دارد و انعطاف بیشتری در ایجاد کاربری را در اختیار برنامه نویس ها قرار می دهد.

مطالب مهم این دوره

این دوره آموزشی شامل 14 فصل به شرح زیر است:

  1. آشنایی با Control Template ها و کاربرد آنها
  2. آشنایی با Element های Custom و کاربرد آنها
  3. اتصال به داده ها (Data Binding)
  4. فرمت کردن داده های متصل
  5. Data View ها
  6. کار کردن با List ها، درخت ها و Grid ها
  7. Window ها
  8. Page ها و Navigation
  9. Menu ها، Toolbar ها، و Ribbon ها
  10. استفاده از صدا و ویدئو در برنامه ها
  11. کار با Document ها
  12. Print کردن
  13. Multithreading
  14. پلاگین پذیر کردن برنامه ها

جزئیات کامل سرفصل ها فوق را می توانید در انتهای این صفحه مشاهده کنید.

همچنین مباحث پیش نیاز این دوره در قالب یک دوره آموزشی جداگانه تحت عنوان "برنامه نویسی Desktop با WPF - سطح 1" ارائه می شود.


پیش نیازها

پیش نیازهای این دوره عبارتند از:


نحوه ثبت نام

برای ثبت نام می توانید مبلغ شهریه را به صورت کامل و یا بخشی از آن (پیش پرداخت) به صورت آنلاین، واریز به حساب بانکی و یا کارت به کارت پرداخت کنید.

کل مبلغ شهریه میبایست در اولین جلسه تشکیل کلاس تسویه شود.

پرداخت آنلاین با کلیه کارتهای بانکی عضو شبکه شتاب و با داشتن رمز دوم کارت، و CVV2 قابل انجام است.

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

پرداخت شهریه به صورت اقساط طی هماهنگی با مسئولین آموزشگاه و با ارائه چک معتبر میسر است.


سرفصل های این دوره به شرح زیر است:

  1. آشنایی با Control Template ها و کاربرد آنها
    • آشنایی با Logical Tree و Visual Tree ها
    • آشنایی با Template ها
      • کلاس های Chrome
      • تشریح Control ها
    • ایجاد Control Template ها
      • یک دکمه ساده
      • Temaplte Binding
      • Trigger هایی که پراپرتی ها را تغییر می دهند
      • Trigger هایی که از انیمیشن ها استفاده می کنند
    • سازماندهی کردن Template Resource ها
      • Refactor کردن Control Template دکمه
      • اعمال کردن Template از طریق Style
      • اعمال کردن Template به صورت خودکار
      • کار کردن با Skin های انتخابی کاربر
    • ساختن Template های پیچیده تر
      • Template های Nested
      • دستکاری کردن ScrollBar
      • بررسی مثالهای Control Template
    • Visual State ها
  2. آشنایی با Element های Custom و کاربرد آنها
    • آشنایی با Custom Element ها در WPF
    • ساخت یک User Control ساده
      • تعریف Dependency Property ها
      • تعریف Routed Event ها
      • افزودن Markup
      • استفاده از کنترل
      • Command های پشتیبانی شده
      • نگاهی عمیق تر به User Control ها
    • ایجاد یک کنترل Lookless
      • Refactor کردن کد Color Picker
      • Refactor کردن Markup
      • ساده سازی Control Template
    • پشتیبانی کردن Visual State ها
      • ایجاد کلاس FlipPanle
      • انتخاب Part ها و State ها
      • Default Control Template
      • استفاده از FlipPanel
      • استفاده از یک Control Template متفاوت
    • ایجاد Panel های Custom
      • پردازش Layout در دو مرحله
      • کپی Canvas
      • یک Wrapping Panel بهتر
    • Element های Custom Drawn
      • متد OnRender
      • ارزیابی Custom Drawing
      • ایجاد یک Custom Drawn Element
      • ایجاد یک Custom Decorator
  3. اتصال به داده ها (Data Binding)
    • اتصال به یک دیتابیس با استفاده از Custom Object ها
      • ایجاد یک کامپوننت Data Access
      • ایجاد یک Data Object
      • نمایش Bound Object
      • به روز رسانی دیتابیس
      • اطلاعیه تغییر داده
    • اتصال به Collection ای از Object ها
      • نمایش و ویرایش ردیف های Collection
      • درج کردن و حذف ردیف های Collection
      • اتصال به Object های ADO.NET
      • اتصال به یک عبارت LINQ
    • بهبود Performance در لیست های بزرگ
      • Visualization
      • Item Container Recycling
      • Cache Length
      • Deferred Scrolling
    • اعتبارسنجی
      • اعتبارسنجی در Data Object ها
      • قواعد اعتبارسنجی سفارشی شده
      • پاسخ دهی به خطاهای اعتبارسنجی
      • دریافت لیست خطاها
      • نمایش یک بیانگر خطا
      • اعتبارسنجی چند مقداری
    • Data Provider ها
      • ObjectDataProvider
      • XmlDataProvider
  4. فرمت کردن داده های متصل
    • تبدیل داده ها
      • استفاده از پراپرتی StringFormat
      • آشنایی با ValueConverter ها
      • فرمت کردن String ها با استفاده از یک ValueConverter
      • ایجاد اشیاء با یک Value Converter
      • اعمال کردن Conditional Formatting
      • ارزیابی کردن چند پراپرتی
    • کنترل های List
    • استایل های List
      • ItemContainerStyle
      • بررسی یک ListBox شامل CheckBox یا RadioButton
      • استایل ردیف های ثانویه
      • Style Selector ها
    • Data Template ها
      • جداسازی و استفاده مجدد از Template ها
      • استفاده از Template های پیشرفته
      • متنوع کردن Template ها
      • Template Selector ها
      • Template ها و Selection
      • تغییر Item Layout
  5. Data View ها
    • شیء View
      • بازیابی یک شیء View
      • پیمایش با استفاده از یک View
      • ایجاد یک View به صورت Declarative
    • فیلتر کردن، مرتب سازی، و گروه بندی
      • فیتلر کردن Collection ها
      • فیلتر کردن یک DataTable
      • مرتب سازی
      • گروه بندی
      • Live Shaping
  6. کار کردن با List ها، درخت ها و Grid ها
    • ListView
      • ایجاد ستون ها با استفاده از GridView
      • ایجاد یک Custom View
    • TreeView
      • ایجاد یک TreeView متصل به داده ها (Data Bound)
      • متصل کردن یک DataSet به TreeView
      • ایجاد Node به صورت Just-in-Time
    • DataGrid
      • Resize کردن و Rearrange کردن Column ها
      • تعریف Column ها
      • فرمت کردن و استایل دادن به Column ها
      • فرمت کردن ردیف ها
      • نمایش جزئیات در ردیف ها
      • فریز کردن Column ها
      • انتخاب ردیف ها
      • مرتب سازی
      • ویرایش ردیف ها
  7. Window ها
    • کلاس Window
      • نمایش یک Window
      • مختصات دهی به یک Window
      • Save کردن و Restore کردن مختصات Window
    • تعامل با Window
      • بررسی مثال: یک Window ساده شکل دار
      • بررسی مثال: یک Window شفاف شکل دار
      • جابجا کردن Window های شکل دار
      • Resize کردن Window های شکل دار
      • جمع بندی: ایجاد یک Control Template برای Window ها
    • برنامه نویسی Windows Taskbar
      • استفاده از Jump List ها
      • تغییر دادن آیکون Taskbar و Preview
  8. Page ها و Navigation
    • پیمایش مبتنی بر Page
    • رابط کاربری مبتنی بر Page
      • ایجاد یک برنامه ساده مبتنی بر Page دارای NavigationWindow
      • کلاس Page
      • Hyperlink ها
      • مبزبانی Page ها در یک Frame
      • میزبانی Page ها در یک Page دیگر
      • میزبانی Page ها در یک Web Browser
    • Page History
      • نگاهی عمیق تر به URI در WPF
      • Navigation History
      • نگهداری Custom Property ها
    • Navigation Service
      • پیمایش مبتنی بر برنامه
      • رویدادهای پیمایش
      • مدیریت ژورنال
      • افزودن آیتم های سفارشی به ژورنال
      • استفاده از Page Function ها
    • برنامه های XAML Browser
      • ایجاد یک XBAP
      • منتشر کردن XBAP
      • به روز رسانی یک XBAP
      • امنیت XBAP
      • XBAP های Full Trust
      • ترکیب کردن XBAP با برنامه های Stand-Alone
      • کد نویسی برای سطوح مختلف امنیتی
      • ادغام کردن XBAP در یک Web Page
    • کنترل Web Browser
      • پیمایش به یک صفحه
      • ایجاد یک DOM Tree
      • اسکریپت نویسی برای یک صفحه با استفاده از کد Net.
  9. Menu ها، Toolbar ها، و Ribbon ها
    • Menu ها
      • کلاس Menu
      • Menu Item ها
      • کلاس ContextMenu
      • Separator های منو
    • Toolbar و Status Bar
      • Toolbar
      • StatusBar
    • Ribbon ها
      • افزودن Ribbon
      • Application Menu
      • Tab ها، Group ها، و دکمه ها
      • Rich Tooltip ها
      • دسترسی به Keyboard با استفاده از KeyTip ها
      • اندازه دهی به Ribbon
      • Quick Access Toolbar
  10. استفاده از صدا و ویدئو در برنامه ها
    • پخش کردن WAV Audio
      • SoundPlayer
      • SoundPlayerAction
      • صداهای سیستمی
    • MediaPlayer
    • MediaElement
      • پخش صدا از طریق کدنویسی
      • پاسخ دهی به خطاها
      • پخش صدا با استفاده از Trigger ها
      • پخش چند صدا
      • تغییر دادن ولوم، بالانس، سرعت، و Position
      • پخش Video
      • جلوه های ویژه ویدئویی
    • پخش کلام
      • Speech Synthesis
      • Speech Recognition
  11. کار با Document ها
    • آشنایی با Docuement ها
    • Flow Document ها
      • آشنایی با Flow Document ها
      • فرمت کردن المنت های Content
      • ساختن یک Flow Document ساده
      • استفاده از Block Element ها
      • استفاده از Inline Element ها
      • تعامل با Element ها از طریق کد
      • تراز کردن متن
    • Flow Document Container های فقط خواندنی
      • Zoom کردن
      • ایجاد Page ها و Column ها
      • لود کردن Docuement از فایل
      • Print کردن
    • ویرایش کردن یک Flow Document
      • لود کردن یک فایل
      • Save کردن یک فایل
      • فرمت کردن متن انتخاب شده
      • پیدا کردن کلمات منحصر به فرد
    • Fixed Document ها
    • Annotation ها
      • آشنایی با Annotation Class ها
      • ایجاد Annotation ها
      • امتحان کردن Annotation ها
      • عکس العمل نشان دادن به تغییرات Annotation
      • نگهداری کردن Annotation در یک Fixed Document
      • سفارشی کردن ظاهر Sticky Note ها
  12. Print کردن
    • Print کردن ساده
      • پرینت کردن یک Element
      • Transform کردن خروجی پرینت شده
      • پرینت کردن Element ها بدون نمایش آنها
      • پرینت کردن یک Document
      • دستکاری کردن Document ها در خروجی پرینت
    • Custom Printing
      • پرینت کردن با استفاده از کلاس های Visual Layer
      • پرینت کردن چند صفحه به صورت سفارشی
    • تنظیمات و مدیریت پرینت
      • نگهداری تنظیمات پرینت
      • چاپ کردن محدوده ای از صفحات
      • مدیریت صف پرینت
    • Print کردن از طریق XPS
      • ایجاد یک XPS Document برای Print Preview
      • نوشتن یک XPS Document در حافظه
      • چاپ کردن مستقیم در Printer از طریق XPS
      • چاپ کردن به صورت Asynchronous
  13. Multithreading
    • آشنایی با مدل Multithreading
      • Dispatcher
      • DispatcherObject
    • BackgroundWorker
      • یک عملیات Asynchronous ساده
      • ایجاد BackgroundWorker
      • اجرای BackgroundWorker
      • ردیابی Progress
      • پشتیبانی از Cancelaation
  14. پلاگین پذیر کردن برنامه ها
    • انتخاب بین MAF و MEF
    • آشنایی با Add-in Pipeline
      • Pipeline چگونه کار می کند
      • ساختار فولدرهای Add-in
      • آماده کردن یک Solution که از مدل Add-in استفاده می کند
    • ایجاد یک Application که از Add-in استفاده می کند
      • Contract
      • Add-in View
      • Add-In
      • Add-in Adapter
      • Host View
      • Host
      • Add-In های بیشتر
    • تعامل با Host
    • Visual Add-In ها
picture
picture

نظر دانشجویان دوره های قبلی
 نظر افرادی که قبلا در این دوره ها شرکت کرده اند  را بدانید.

بهترین ملاک برای قضاوت درباره کیفیت خدمات آموزشی ما نظرات مخاطبینی است که قبلا از این خدمان استفاده کرده اند. ادامه »

picture

تضمین کیفیت
تضمین کیفیت خدمات آموزشی ما موفقیت افرادی است که با ما همراه بوده اند..

Fusce vehicula dignissim ligula. Vestibulum sit amet neque eu neque suscipit consequat quis vel risus. Vestibulum vehicula purus nec dui accumsan fermentum. Read More »

picture

انواع دوره های آموزشی
دوره های آموزشی ما به دو حالت کلی فشرده و طولانی مدت برگزار می شود.

Fusce vehicula dignissim ligula. Vestibulum sit amet neque eu neque suscipit consequat quis vel risus. Vestibulum vehicula purus nec dui accumsan fermentum. Read More »