آکادمی برنامه نویسان

لوگو

توضیحات دوره

WPF مخفف سه کلمه Windows Presentation Foundation می باشد. در نسخه های ابتدایی دات نت برنامه های تحت ویندوز با Windows Form Application طراحی و پیاده سازی می شد ولی با منسوخ شدن آن، برنامه هایی با تکنولوژی WPF جای خود را در میان برنامه های تحت ویندوز، باز کردند. پايه و اساس WPF بر مبنای Directx مي باشد و اين موضوع باعث شده که بتوان از بسياري از جنبه هاي گرافيکي بدون ايجاد سربار اضافی بر روی برنامه بهره برد و در واقع برنامه هايی با ظاهر هايی بسازيد که ساختن آن ها با برنامه نويسي های پيشين يا غير ممکن و يا متحمل کار بسيار زيادي بوده است.

يکي از مهمترين اهداف WPF استفاده از GPU به جاي CPU جهت انجام کارهای پيچيده گرافيکی مي باشد که اين امر باعث آزاد بودن CPU بوده که ميتواند به پردازش هاي ديگر در سيستم رسيدگي کند و يکی دیگر از جنبه هاي فوق العاده مفيد و قوی WPF عدم وابستگی آن به رزولوشن صفحه نمايش است.

در این دوره قصد داریم که با تکنولوژی بسیار قدرتمند WPF آشنا شده و آن را جایگزین برنامه های WinApp کنیم و این مسئله با ذکر مثال های متعدد در طول دوره و انجام یک پروژه عملی با موضوع یک سیستم انباری داری ساده آموزش داده خواهد شد.


 

پیش نیازها

  • آشنایی با زبان سه پیش نیاز اول این در) C# دوره آموزش سی شارپ آموزش داده میشود)
  • آشنایی با Linq و  Lambda Expressions
  • آشنایی با Entity Framework
  • آشنایی با مفاهیم SQL Server از جمله طراحی و ایجاد جداول، دستورات  Insert,Update,Delete,Select

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

  • دوستداران برنامه نویسی در محیط ویندوز.
  • برنامه نویس هایی که تا بحال برنامه نویسی در محیط Windows Form را تجربه کرده اند و نیاز به بروز بودن در برنامه نویسی در این محیط را احساس می کنند.
  • افرادی که می خواهند با یک زبان برنامه نویسی و یک تکنولوژی، در دیگر محیط های برنامه نویسی مانند : وب (Silver Light) و موبایل (Windows Phone) برنامه نویسی کنند.

سرفصل دوره

  • تکنولوژی WPF
    • مبانی WPF
      • معرفی WPF
      • تفاوت های WPF وWindows Forms
      • سیر تکاملی تغییرات گرافیکی در ویندوز
      • موتور گرافیکی قوی DirectX
      • سرعت سخت افزار و WPF
    • API سطح بالا در WPF
    • عدم وابستگی به رزولوشن صفحه نمایش
      • Unit ها در WPF
      • System DPI
    • معماری WPF
      • ارث بری در WPF
  • زبان XAML
    • معرفی XAML
      • XAML چیست ؟
      • روش Compile کردن XAML
    • مبانی XAML
      • Namespace در XAML
      • Code-Behind در XAML
    • خاصیت ها و رویداد ها در XAML
      • خاصیت های ساده در XAML
      • خاصیت های پیچیده در XAML
      • Markup Extensions
      • خاصیت های وابسته
      • عناصر تو در تو
      • کاراکترهای خاص و فضای خالی در XAML
      • رویدادها
    • ساخت و اجرای کنترل ها در XAML
      • ساخت کنترل از طریق Code-Behind
      • ساخت کنترل ها از طریق XAML
  • چهارچوب برنامه
    • درک چهار چوب در WPF
      • فلسفه طراحی در WPF
      • روند طراحی در WPF
    • طراحی با StackPanel
      • خاصیت های StackPanel
        • Alignment
        • Margin
        • Minimum, Maximum, and Explicit Sizes
        • Border
    • طراحی با WrapPanel and DockPanel
      • WrapPanel
      • DockPanel
    • طراحی با Grid
      • ردیف ها و ستون ها
      • Rounding
      • تنظیم ردیف ها وستون ها
      • تقسم بندی پنجر ها
      • اشتراک گذاری فضا ها
      • UniformGrid
    • طراحی با Canvas
      • Z-Order
      • InkCanvas
  • نگاه دقیق تر به WPF
    • App.XAML
      • نقش App.XAML
      • تنظیمات App.XAML
  • کنترل ها
    • تنظیمات اولیه کنترل ها
      • پس زمینه Background
      • فونت Fonts
      • رنگ Color
      • سایز Sizing
      • نشانه گر ماوس
    • محتوای کنترل ها
      • خاصیت های محتوا
      • چینش کنترل ها
      • فلسفه محتوای کنترل های در WPF
    • کنترل های اصلی
      • Label ها
      • TextBlock
      • Button ها
      • RepeatButton
      • Tooltip ها
    • کنترل های اختصاصی
      • ScrollViewer
      • GroupBox
      • TabItem
      • Expander
      • Slider
    • کنترل های تاریخ
      • Datepicker
      • Calender
    • کنترل های MultiMedia
      • نمایش Image
      • اجرای فایل های صوتی
      • نمایش، مدیریت و کنترل فایل های تصویری
    • کنترل های متنی
      • کنترل های متنی چندخطی
      • PasswordBox
    • کنترل های لیستی
      • ListBox
      • ComboBox
      • TreeList
    • کنترل های رسانه ای
      • پخش صوت در برنامه
      • پخش ویدئو در برنامه
    • کنترل WebBrowser
      • نمایش صفحات وب در برنامه
    • منوها
      • کنترل Menu
      • ContextMenu
      • کنترل Expander
      • کنترل ToolBar
  • استفاده از MessegeBox و Dialog Box ها
    • MessegeBox
      • نمایش یک پیام ساده
      • نمایش یک پیام کامل به همراه عنوان، آیکون و ...
    • OpenFileDialog
    • SaveFileDialog
  • معرفی Style ها در WPF
    • پیاده سازی یک استایل بروی یک کنترل
    • انواع پیاده سازی Style ها
      • Local control specific style
      • Local child control style
      • Window-wide styles
      • Application-wide styles
      • Explicitly using styles
    • Trigger, DataTrigger & EventTrigger
      • معرفیTrigger ها
      • Property Trigger
      • Data triggers
      • Event triggers
      • MultiTrigger
      • MultiDataTrigger
      • Trigger Animations
  • افزودن Namespace ها در XAML
  • Resource ها
    • Resources Collection
    • Resource های داینامیک و استاتیک
    • Resource های Application
    • Resource های سیستم
  • رویدادها
    • رویدادها در WPF
      • مدیریت رویدادهای برنامه
        • Loaded
        • Unloaded
        • Initialized
        • Activated
        • Deactivated
        • Closing
        • Closed
      • مدیریت رویداد های کیبورد
        • KeyDown
        • TextInput
        • KeyUp
        • KeyPress
      • مدیریت رویداد های ماوس
        • Click
        • DoubleClick
  • User Control ها در WPF
    • User Control چیست ؟
    • ساخت یک User Control سفارشی
    • مدیریت رویداد های User Control
    • استفاده از User Control در برنامه
  • اشکال هندسی
    • اشکال
      • کلاس اشکال
      • مستطیل و بیضی
      • سایز و موقعیت اشکال
      • رسم خط
      • شفافیت کنترل ها
  • اتصال به داده ها
    • اتصال داده ها به صورت یکجا
      • مدیریت خطاها در اتصال داده
      • اتصال به داده ها از طریق کد
      • خواندن اطلاعات از طریق کد
      • اتصال به داده ها به صورت چندگانه
    • اتصال داده ها به آبجکت ها
      • اتصال داده به آبجکت ها
      • خواندن اطلاعات از آبجکت ها
      • بستر ارتباطی (DataContext)
  • داده ها
    • Data Binding
      • اتصال داده چیست ؟
    • نوع های مختلف Binding
    • Element Binding
      • Bind کردن داخل فایل XAML
      • Binding دستی توسط CodeBehind
    • کنترل های لیستی و اتصال داده
      • ListBox
      • ListView
      • TreeView
      • DataGrid
        • Item Template
  • استفاده ازCommand ها در WPF
    • Command های عمومی
      • متد Execute
      • متد CanExecute
      • CommandTarget
    • Command های اختصاصی
      • متد Execute
      • متد CanExecute
      • استفاده از کلید میانبر (InputGestureCollection)
  • اعتبارسنجی
    • اعتبارسنجی کنترل ها
      • اعتبارسنجی ساده
      • نمایش خطاها
      • ساخت اعتبارسنجی سفارشی
      • Error Provider ها
      • IDataErrorInfo
      • ساخت یک Error Provider
  • Value Converter
    • زمان استفاده از Value Converter ها
    • نحوه پیاده سازی و اجرا
      • Code-behind
      • XAML
  • تنظیم SpashScreen
  • پروژه انبارداری فروشگاه
    • شروع به کار
      • بررسی امکاناتی که قرار است در این سیستم تعبیه شوند
      • ایجاد بانک اطلاعاتی و ساختار مورد نیاز
        • ایجاد جداول
        • تعریف کردن روابط جداول و قیدها
      • ایجاد پروژه
      • ایجاد فولدرهای لازم جهت دسته بندی عناصر پروژه
      • Import کردن دیتابیس به صورت یک Model در Entity Framework
      • نصب کامپوننت های Stimulsoft Reports جهت گزارش گیری
      • تنظیم برنامه برای استفاده از تاریخ هجری شمسی در کلیه بخش ها
    • ایجاد بخش مدیریت کالاها در سیستم
      • افزودن فرم اصلی فهرست کالا ها به برنامه
      • افزودن فرم تعریف و ویرایش کالاها
    • ایجاد بخش مدیریت کاربران و طرف حساب ها در سیستم
      • ایجاد فرم اصلی فهرست کاربران و مشتریان
      • ایجاد فرم افزودن و ویرایش دادها
    • ایجاد بخش مدیریت انبارها
      • بررسی روند گردش داده ها در بانک اطلاعاتی برای مدیریت انبار
      • افزودن فرم ورود کالا به انبار
      • افزودن فرم خروج کالا از انبار
      • نمایش لیست موجودی انبار
    • طراحی و پیاده سازی گزارشات
      • آشنایی با Stimulsoft Reports
        • طراحی یک گزارش ساده
        • آشنایی با جزئیات تشکیل دهنده یک گزارش
        • باندهای گزارش
        • دیتاسورس های گزارش
        • نحوه تبادل داده ها بین فرم های اجرای گزارش و فرم های مدیریت داده ها
      • طراحی گزارشات
        • گزارش عملکرد مالی مشتری
        • گزارش موجودی انبار
        • گزارش ورود کالا به انبار
        • گزارش خروج کالا از انبار
    • جمع بندی و مروری بر پروژه

اهداف این آموزش

  • آشنایی با تکنولوژی WPF
  • آشنایی با زبان XAML
  • کار بااستایل های ثابت و پویا
  • اتصال داده ها - Data Binding
  • بررسی انواع رویدادها و Command ها
  • اعتبار سنجی فرم ها
  • ساخت SpashScreen برای برنامه
  • و ...
  • ساخت یک پروژه انبار داری به همراه فرم های گزارش گیری