آموزش WPF در ویژوال استودیو

Wpf مخفف سه کلمه Windows Presentation Foundation می باشد

هر کسی که تا به حال در محیط های گرافیکی و یا به اصلاح برنامه نویسان، محیط های ویژوال، برنامه نویسی کرده باشد، یقینا با مفاهیم Windows Application ها که گاها به صورت مخفف WinApp نیز نامیده می شوند، آشنا می باشد. این نوع برنامه نویسی همزمان با ورود سیستم عامل های ویندوز در دنیای کامپیوتر شروع شد و روز به روز با به وجود آمدن زبان های متفاوت جایگاه محبوبتری نزد برنامه نویسان پیدا کرد. همانطور که می دانید، Windows Application ها، از APIهای سیستم عامل مربوطه ( که اکثرا ویندوز XP نیز می باشد) برای ترسیم عناصر گرافیکی یا همان عناصر ویژوال، استفاده می کنند. به عنوان مثال برای ترسیم انواع دکمه ها، فرم ها و بسیاری از عناصردیگری که با آن ها آشنا هستید، از توابع API ویندوز کمک گرفته می شود. همین مسئله باعث ایجاد محدودیت برای برنامه نویسان در ایجاد کنترل های سفارشی با ظاهر دلخواه خود شده بود


WPF برای ویندوز ارائه شده است. این یک چارچوب قدرتمند برای ساخت برنامه های کاربردی ویندوز است. این آموزش ویژگی هایی را که شما نیاز دارید برای ساخت برنامه های WPF و نحوه تغییر بنیادی در برنامه های ویندوز توضیح می دهد.

پیش نیازها
قبل از ادامه این آموزش، باید فهم اولیه ای از XML، Web Technologies و HTML داشته باشید

WPF برای ویندوز ارائه شده است. این یک چارچوب قدرتمند برای ساخت برنامه های کاربردی ویندوز است. این آموزش ویژگی هایی را که شما نیاز دارید برای ساخت برنامه های WPF و نحوه تغییر بنیادی در برنامه های ویندوز توضیح می دهد.

WPF برای اولین بار در نسخه 3.0 اضافه شد و پس از آن بسیاری از ویژگی های دیگر در نسخه های بعدی آن در دات نت اضافه شدند.

معماری WPF

قبل از WPF، چارچوب های دیگر رابط کاربری ارائه شده توسط مایکروسافت، مانند فرم های MFC و ویندوز، فقط پیچ و خم در اطراف DLL های User32 و GDI32 بود، اما WPF استفاده حداقل از User32 را تنها از User32 انجام می دهد. بنابراین،

WPF بیش از یک بسته بندی است.
این بخشی از چارچوب .NET است.
این شامل ترکیبی از کد مدیریت شده و مدیریت نشده است.
اجزای اصلی معماری WPF همانطور که در شکل زیر نشان داده شده است. مهمترین بخش کد WPF عبارتند از:

چارچوب ارائه
این اسمبلی در واقع تمامی آبجکت های سطحه بالا و در واقع به نوعی بالاترین سطح از آبجکت های WPF مانند Windows ها ( که بالاترین سطح در برنامه های WPF را در مدل برنامه نویسی WPFApplication دارا می باشد) و Panel ها که از دیگر اجزاء اساسی برنامه های WPF می باشند،را نگه داری می کند

می توانید Windows ها را به مانند Form ها در برنامه های معمولی در نظر بگیرید. همچنین Panel، کلاس پایه برای تمامی کنترل های Container از جمله Grid ( که مهمترین آن ها و پر کاربرد ترین آن ها می باشد)، StackPanel، Canvas و می باشد
هسته ارائه
شامل نوع های پایه از جمله UIElement و Visual می باشد که تمامی اشکال و کنترل های از این کلاس ها ارث بری می کنند. در قسمت بعدی نمودارسلسله مراتبی کلاس های WPF را مشاهده خواهید کرد
Milcore
در واقع هسته اصلی WPF در رندر کردن آبجکت ها به آبجکت هایی که لایه زیرین خودش یعنی Direct3D نیاز دارد، می باشد. علاوه بر این در ویندوز ویستا، مدیر پنجره های دسکتاپ یعنی Desktop Windows manager ( که عمل مدیریت پنجره های دسکتاب را بر عهده دارد) از همین کامپوننت استفاده می کند. در واقع شما می توانید با فراخوانی DWM ، به فرم ها، یا صحیح تر بگویم به پنجره های برنامه خود، افکت هایی که پنجره های ویندوز ویستا دارا هستند را اضافه نمایید



چارچوب ارائه و هسته ارائه شده در کد مدیریت شده نوشته شده است. Milcore بخشی از کد مدیریت نشده است که امکان ادغام دقیق با DirectX (مسئول نمایش و رندرینگ) را فراهم می کند. CLR فرایند توسعه را با ارائه ویژگی های بسیاری از قبیل مدیریت حافظه، مدیریت خطا و غیره، تولید می کند.

مزایای wpf

در چارچوب GUI قبلی، تفاوت جدی بین نحوه نمایش یک برنامه و نحوه رفتار آن وجود نداشت. هر دو رابط کاربری GUI و رفتار در همان زبان ایجاد شده اند، به عنوان مثال C # و یا VB.Net که نیاز به تلاش بیشتری از توسعه دهنده برای پیاده سازی هر چه از رابط کاربر و رفتار مرتبط با آن است.

 

در WPF، عناصر UI در XAML طراحی شده اند، در حالی که رفتارها را می توان در زبان های رویه ای مانند C # و VB.Net اجرا کرد. بنابراین رفتار بسیار ساده ای را از کد طراح جدا می کند.

 

با XAML، برنامه نویسان می توانند موازی با طراحان کار کنند. تفکیک بین یک رابط کاربری گرافیکی و رفتار آن می تواند به ما اجازه دهد که با استفاده از سبک ها و قالب ها، ظاهر یک کنترل را تغییر دهد.
WPF - ویژگی ها
WPF یک چارچوب قدرتمند برای ایجاد برنامه ویندوز است. این پشتیبانی از بسیاری از ویژگی های عالی، برخی از آنها ذکر شده در زیر

 

کنترل در داخل کنترل
اجازه می دهد یک کنترل را در داخل یک کنترل دیگر به عنوان یک محتوا تعریف کنیم.
اتصال داده
مکانیسم برای نمایش و تعامل با داده ها بین عناصر UI و شی داده در رابط کاربر.
خدمات رسانه ای
یک سیستم یکپارچه برای ایجاد رابط کاربری با عناصر رسانه ای معمولی مانند تصاویر، صوتی و تصویری فراهم می کند.
قالب ها
در WPF شما می توانید ظاهر یک عنصر را مستقیما با یک الگو تعریف کنید
انیمیشن
تعامل و حرکت ساختمان در رابط کاربری
ورودی های جایگزین
پشتیبانی از ورودی چند لمسی در ویندوز 7 و بالاتر.
Direct3D
به گرافیک پیچیده تر و تم های سفارشی اجازه می دهد