این زیرسیستم بخشی از دات نت ۳ است
**بنیان نمایش ویندوز** (به انگلیسی: Windows Presentation Foundation) (یا WPF) که توسط مایکروسافت ایجاد شد، یک زیر سیستم گرافیکی برای رندر کردن واسط‌های کاربر در برنامه‌های کاربردی تحت ویندوز می‌باشد. WPF بستری هسته WPF یک موتور رندرینگ برداری و مستقل از وضوح تصویر است که برای بهره‌برداری از مزایای سخت افزارهای گرافیکی امروزی ساخته شده‌است. تعبیه WPF در نسخه‌های سیستم عامل ویندوز از ویندوز ویستا و ویندوز سرور ۲۰۰۸ آغاز شد، که البته در ویندوز XP و ویندوز سرور ۲۰۰۳ نیز قابل استفاده است.

WPF که پیشتر به نام "Avalon" شناخته می‌شد، اولین بار به عنوان بخشی از چارچوب دات نت 3 به بازار آمد. WPF به جای استفاده از سیستم قدیمی تر واسط دستگاه گرافیک (GDI) از دایرکت ایکس استفاده می‌کند. WPF سعی دارد که مدل پایداری از برنامه‌نویسی ارائه کند که در آن واسط کاربر از منطق تجاری(Business Logic) برنامه کاملاً جدا باشند. از این جهت شباهت زیادی به زول (زبان برنامه‌نویسی) و SVG دارد.

WPF از XAML (با تلفظ زمل)، که از مشتقات ایکس‌ام‌ال (XML) است، برای تعریف و پیوند عناصر تشکیل دهنده واسط کاربر استفاده می‌کند. برنامه‌های WPF می‌توانند به صورت مستقل ومنزوی یا به صورت شی ادغام شده در یک صفحه وب به کار روند.

مایکروسافت سیلورلایت نیز از WPF استفاده می‌کنند تا کنترل‌های وب ادغام شده در صفحات را به شیوه ای قابل مقایسه با ادوبی فلش ارائه دهد، اما تأکید آن بیشتر بر مدل شیئی واسط کاربر است تا پویانمایی. سیلور لایت از رندرینگ زمان اجرای سه بعدی پشتیبانی نمی‌کند.

ویژگی‌های WPF
-------------

بنیان نمایش ویندوز مجموعه ای از امکانات و ویژگی‌ها را به برنامه نویسان می‌دهد تا بتوانند به آسانی واسط‌های کاربر خیره‌کننده ای ایجاد کنند. این ویژگی‌ها شامل موارد زیر می‌گردد:

### بستری یکپارچه برای تولید واسط‌های کاربر امروزی

پیش از WPF، ساختن واسط کاربری برای برنامه‌های تحت ویندوز نیازمند به استفاده از فناوریهای مختلفی مانند GDI+، Windows Forms و بسیاری از فناوری‌های دیگر بود. WPF کارکردهای فناوریهای مختلف را در یک فناوری کنار هم گردآورده است تا ایجاد واسط‌های کاربر غنی و خیره‌کننده آسان‌تر گردد.

### امکان همکاری مؤثر بین برنامه نویسان و طراحان واسط کاربر

با استفاده از زبان نشانه کذاری زمل (XAML) امکان این به وجود می آید که طراحان واسط کاربر طراحی‌های گرافیکی خود را انجام دهند و برنامه نویسان کد لازم برای جان دادن به واسط کاربر راایجاد کنند.

برنامه نویسی با WPF
-------------------

WPF به صورت زیرمجموعه ای از کلاسها در مجموعه کلاسهای دات نت(نسخه‌های 3و 4و5و6 و احتمالا بالاتر) هستند که اکثراً در فضای نام "System.Windows" قرارگرفته‌اند. علاوه بر این مایکروسافت ساختارهای برنامه‌نویسی جدیدی مانند Dependency Property و Routed Event را ارائه نموده است.

مطالعه بیشتر
------------

* شابک ‎۹۷۸−۰−۴۷۰−۱۹۱۳۷−۸ - فصل 34 از کتاب *Wrox Professional C# 2008*، انتشارات Wiley، منتشر شده در سال 2008
* شابک ‎۰−۶۷۲−۳۲۸۹۱−۷ - کتاب *Windows Presentation Foundation Unleashed*، انتشارات SAMS، منتشرشده در 21 دسامبر 2006
* شابک ‎۰−۳۲۱−۳۷۴۴۷−۹ - کتاب *Essential Windows Presentation Foundation*، انتشارات Addison-Wesley، منتشر شده در11 آوریل 2007
* شابک ‎۰−۵۹۶−۵۱۰۳۷−۳ - کتاب *Programming WPF*، انتشارات O'Reilly Media، منتشر شده در28 آگوست 2007
* شابک ‎۱−۹۳۳۹۸۸−۲۲−۳ - کتاب *WPF in Action with Visual Studio 2008*، انتشارات Manning، منتشر شده در21 نوامبر 2008

منابع
-----

1. ↑  بخش برنامه نویسی دات نت MSDN - بررسی اجمالی XAML
2. ↑  Introducing Windows Presentation Foundation
3. ↑  آشنایی با WPF - (انگلیسی)

| * ن
* ب
* و
چارچوب دات‌نت |
| --- |
| معماری نرم‌افزار | 
* کتابخانه کلاس پایه‌ای
* زمان اجرای زبان مشترک
* امنیت دسترسی به کد
* اسمبلی (زیرساخت زبان مشترک)
* صورت‌کد (زیرساخت زبان مشترک)
* Metadata
* COM Interop

 |
| زیرساخت زبان مشترک | 
* زیرساخت زبان مشترک
* Common Type System
* زبان میانی مایکروسافت
* Virtual Execution System

 |
| زبان‌های برنامه‌نویسی در فناوری دات‌نت | 

|  |  |
| --- | --- |
| متشرک۱ | 
* سی‌شارپ
* ویژوال بیسیک دات‌نت
* C++/CLI
	+ Managed
* اف شارپ
* جی‌شارپ
* جی‌اسکریپت دات‌نت
* پاورشل

 |
| سایر۲ | 
* Axum
* A#
* Boo
* Cobra
* M
* اکسیژن (زبان برنامه‌نویسی)
* IronScheme (IronLisp)
* آیرون پایتون
* IronRuby
* Nemerle
* Phalanger
* P#
* اسکالا

 |

 |
| مهندسی نرم‌افزار بر اساس پیکرپار | 
* ای‌دی‌اودات‌نت
	+ Entity Framework
	+ Data Services
* ای‌اس‌پی‌دات‌نت
	+ AJAX
	+ ای‌اس‌پی‌دات‌نت ام‌وی‌سی
	+ Dynamic Data
* لینک (برنامه‌نویسی)
* CardSpace
* ClickOnce
* Communication Foundation
* Dynamic Language Runtime
* Forms
* بنیان نمایش ویندوز
* Remoting
* Workflow Foundation
* XAML
* Parallel Extensions
* Managed Extensibility Framework

 |
| سایر پیاده‌سازی‌ها | 
* مونو
* Compact Framework
* XNA Framework
* Micro Framework
* Portable.NET
* مایکروسافت سیلورلایت
* SSCLI

 |
| مقایسه‌ها | 
* Java and C#
* مقایسه سی‌شارپ و ویژوال بیسیک دات‌نت
* Java and .NET platforms
* Visual Basic and Visual Basic .NET

 |
| در آتیهٔ نزدیک | 
* "Jasper"
* رزلین(کامپایلر)

 |
| گذشته | 
* "Acropolis"

 |
| ابزارها | 
* CLR Profiler

 |
| 
* ۱ زبان‌هایی که پشتیبانی شده‌اند، پشتیبانی می‌شوند یا پشتیبانی در مایکروسافت ویژوال استودیو یا چارچوب دات‌نت خواهند شد.
* ۲ زبان غیرآکادمیک یا تحفیفاتی با پایگاه کاربری نسبتاً زیاد.

 |

|  |  |
| --- | --- |
| آیکون خرد | این یک مقالهٔ خرد رایانه است. می‌توانید با گسترش آن به ویکی‌پدیا کمک کنید. |