نوشته شده توسط
Mehdi Naderi
Win App همزمان با روی کار آمدن ویندوز توسط مایکروسافت آعاز شد و بر اساس win API استوار بوده و از آن برای عناصر ویژوال خود استفاده میکند بنابراین ویندوز فرمم ها با یک سری محدودیت مواجه هستند
اما WPF بر اساس Direx بنا شده و بنابراین ترسیم های گرافیکی جذاب که با Win app غیر ممکن و یا برای اغلب برنامه نویسان مشکل است در این محیط به سادگی قابل انجام است
یک ویژگی WPF این است که اجزا و عناصر بصری که ایجاد میکنید دیگر به رزولوشن صفحه مانیتور بستگی ندارند
در حالیکه در ویندوز فرم رزولوشن صفحه ممکن است یک فرم را برای رزولوشن 768*1024 طراحی کرده وبه خوبی هم نمایش داده شود. ولی در سیستمی با رزولوشن بالاتر تصویر کوچکتر دیده شود و یا در یک رزولوشن پایین تر قسمتی از فرم از صفحه نمایش خارج گردد.
WPF از تکنولوژی و سیستم اندازه گیری ای برای رسم عناصر گرافیکی استفاده می کند که این مشکلات را مرتفع میگرداند.
پایه و اساس WPF، زیر بنا و ساختار قدرتمندی است که بر اساس DirectX ساخته شده. API های شتاب دهنده گرافیک سخت افزاری که در بازی های کامپپیوتری هم استفاده گسترده ای دارد. معنی اش آن است که شما می توانید از افکت های گرافیکی غنی ای استفاده کنید. بدون آن که نگران کاهش عملکرد و فشار آمدن زیاد به پردازنده شوید. چرا که تمام این افکت ها روی پردازنده گرافیکی پردازش می شوند و GPU ها هم به دلیل معماری موازی در ساختارشان؛ بسیار سریع تر از پردازنده ها به شمار می روند. این همان نقطه ضعف بزرگ ویندوز فرم در برابر WPF می باشد.
اما مهمترین ویژگی WPF جدا کردن بخش کد و طراحی برنامه می باشد. در واقع طراحان گرافیکی می توانند از ابزارهای پیشرفته ای برای طراحی User Interfaceبرنامه استفاده نمایند. در تکنیک های نمایشی قبلی جداسازی کد از طراحی آسان نبود. مشکل اصلی در Windows Form Application این است که، هر فرمی که شما ایجاد می کنیدبطور کامل تحت کد C# ایجاد می شود. زمانی که کنترلی را به سطح طراحی می کشید، Visual Studio بلافاصله کد آن را در Form Class ایجاد و تنظیم می کند. طراحان گرافیک هم هیچ ابزاری برای کار با کدهای C# ندارند.