مؤسسة عرض ويندوز

إطار عمل Windows Presentation Foundation ( WPF ) هو إطار عمل مجاني ومفتوح المصدر لواجهة المستخدم لتطبيقات سطح المكتب التي تعمل بنظام Windows . تعتمد تطبيقات WPF على .NET ، ويتم تطويرها بشكل أساسي باستخدام لغة C# و XAML . [ 2 ]

طُوِّرت WPF في الأصل بواسطة مايكروسوفت ، وأُصدرت مبدئيًا كجزء من .NET Framework 3.0 في عام 2006. وفي عام 2018، أتاحت مايكروسوفت WPF كمصدر مفتوح بموجب ترخيص MIT . [ 3 ] وقد اعتُمد تصميم WPF ولغة تخطيطه XAML من قِبل العديد من أُطر عمل واجهة المستخدم الأخرى، مثل UWP و .NET MAUI و Avalonia .

ملخص

تستخدم WPF لغة XAML ، وهي لغة مبنية على XML ، لتعريف وربط عناصر واجهة المستخدم المختلفة، وتستخدم لغة C# لتعريف سلوك البرنامج. [ 4 ] يتم نشر تطبيقات WPF كبرامج سطح مكتب مستقلة.

يدعم WPF عددًا من عناصر واجهة المستخدم الشائعة ، مثل العرض ثنائي وثلاثي الأبعاد، والمستندات الثابتة والمتغيرة ، والطباعة ، والرسومات المتجهة ، والرسوم المتحركة أثناء التشغيل ، والوسائط المُجهزة مسبقًا. ويمكن ربط هذه العناصر ومعالجتها بناءً على أحداث مختلفة، وتفاعلات المستخدم، وربط البيانات . [ 5 ]

طُوِّرت WPF تحت الاسم الرمزي "أفالون"، كجزء من نموذج برمجة WinFX لنظام التشغيل ويندوز "لونغ هورن" . في أغسطس 2004، أعلنت مايكروسوفت عن إمكانية دمج مكونات WinFX في نظامي التشغيل ويندوز XP وويندوز سيرفر 2003. [ 6 ] لاحقًا ، أُصدرت كجزء من .NET Framework 3.0، وهو برنامج مجاني متاح للتنزيل لهذين النظامين. [ 7 ] تُضمَّن مكتبات وقت تشغيل WPF في جميع إصدارات مايكروسوفت ويندوز منذ ويندوز فيستا وويندوز سيرفر 2008. [ 8 ] [ 9 ]

في مؤتمر مايكروسوفت كونكت المنعقد في 4 ديسمبر 2018، أعلنت مايكروسوفت عن إطلاق WPF كمشروع مفتوح المصدر على منصة GitHub . وقد تم إصداره بموجب ترخيص MIT . أصبح Windows Presentation Foundation متاحًا للمشاريع التي تستهدف إطار عمل .NET البرمجي، إلا أن النظام لا يزال غير متوافق مع أنظمة التشغيل المختلفة، ويقتصر استخدامه حاليًا على نظام ويندوز فقط. [ 3 ] [ 10 ]

أمثلة على التعليمات البرمجية

في WPF، تُعرَّف الشاشات وعناصر واجهة المستخدم الأخرى باستخدام ملفين: ملف XAML وملف C# مرتبط به بامتداد .xml .xaml.cs، ويُشار إليه غالبًا باسم "ملف الكود الخلفي". يُعرّف ملف XAML تخطيط عنصر واجهة المستخدم ومحتوياته وخصائصه الأخرى بشكل تصريحي، بينما يسمح ملف C# بعرض نقاط دخول الكود للتفاعل. [ 4 ]

يمكن إنشاء مثال أساسي لبرنامج تفاعلي بعنوان " مرحباً بالعالم!" على النحو التالي:

MainWindow.xaml:

<Window x:Class= "WpfExample.MainWindow" xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" Title= "MainWindow" Height= "200" Width= "300" > <StackPanel Orientation= "Vertical" > <TextBlock Text= "ما اسمك؟" /> <TextBox x:Name= "NameInputTextBox" /> <Button x:Name= "SubmitButton" Click= "SubmitButton_Click" > <TextBlock Text= "إرسال" /> </Button> <TextBlock x:Name= "ResultTextBlock" /> </StackPanel> </Window>

MainWindow.xaml.cs:

باستخدام System.Windows ؛namespace WpfExample { public partial class MainWindow : Window { public MainWindow () { InitializeComponent (); }private void SubmitButton_Click ( object sender , RoutedEventArgs e ) { string name = this . NameInputTextBox . Text ; this . ResultTextBlock . Text = $"Hello {name}!" ; } } }

في المثال أعلاه، MainWindowتم تعريف عنصر واجهة المستخدم كفئة فرعية من الفئة المدمجة Window. يحدد ملف XAML التخطيط، وهو في هذا المثال عبارة عن مجموعة رأسية من عناصر التحكم: كتلة نصية تحتوي على تعليمات للمستخدم، ومربع نص لكتابة اسمه، وزر إرسال، وكتلة نصية لعرض النتائج. عند النقر على الزر، SubmitButton_Clickيتم استدعاء الدالة المُعرّفة في .xaml.csالملف. تقوم هذه الدالة بتحديث كتلة النص الأخيرة لتضمين رسالة ترحيبية للمستخدم، مخاطبةً إياه باسمه المُدخل.

سمات

الوسائط والرسومات

يدعم WPF معظم أنواع الوسائط الحديثة، بما في ذلك الصور المتجهة والنقطية، والصوت، والفيديو، كما يدعم العرض ثنائي وثلاثي الأبعاد. [ 11 ] ويدعم أيضًا تطبيق المؤثرات الرسومية على العناصر المرئية، مثل تظليل البكسل HLSL والمؤثرات المدمجة كالتمويه والظلال . [ 12 ] [ 13 ]

تعتمد WPF بشكل أساسي على الرسومات المتجهة، مما يسمح بتغيير حجم معظم عناصر التحكم والعناصر الأخرى دون فقدان الجودة أو ظهور البكسلات . [ 14 ] [ 15 ]

ربط البيانات

تستخدم WPF تقنية ربط البيانات ، وهي أسلوب لنقل التغييرات بين عناصر واجهة المستخدم ونموذج كائنات البرنامج. [ 16 ] على سبيل المثال، يمكن لعنصر نصي مُعرَّف في XAML ربط محتوياته بخاصية نصية مخزنة في كائن C# بالطريقة التالية:

<TextBlock Text= "{Binding Username}" />
public class ExampleViewModel { public string Username { get ; set ; } }

سيؤدي هذا إلى عرض قيمة الخاصية في مربع النص Username.

يمكن ضبط اتجاه ربط البيانات - حيث يمكن تحديده ليكون من واجهة المستخدم إلى المصدر (على سبيل المثال، يتم نقل النص المدخل في مربع نص إلى خاصية سلسلة مرتبطة في التعليمات البرمجية)، أو من المصدر إلى واجهة المستخدم (على سبيل المثال، يتم تحديث ساعة مرئية لعرض الوقت الحالي المخزن في التعليمات البرمجية)، أو ثنائي الاتجاه. [ 16 ]

لا يفرض ربط البيانات أي قيود على أنواع البيانات، ويمكن ربط الهياكل أو الفئات أو المجموعات . ويمكن استخدام المحولات لتبديل القيم والأنواع المستخدمة أثناء الربط - على سبيل المثال، ربط مربع نص بخاصية DateTime ، ولكن باستخدام محول لعرض الوقت كسلسلة نصية منسقة ومترجمة . [ 16 ]

يمكن ربط معظم خصائص عناصر التحكم المدمجة بالبيانات، كما يمكن لعناصر التحكم المصممة خصيصًا إنشاء خصائص قابلة للربط عن طريق تعريف خصائص التبعية. [ 16 ] [ 17 ]

يعتمد نمط MVVM المعماري، الذي شجعته مايكروسوفت لمطوري WPF، بشكل كبير على ربط البيانات. [ 18 ]

الأنماط والقوالب

باستخدام القوالب والأنماط، يمكن للمطورين تحديد العناصر المرئية وبنية عناصر واجهة المستخدم.

النمط هو مجموعة من إعدادات الخصائص التي يمكن تطبيقها على عنصر واجهة مستخدم ذي سمة خاصية واحدة. على سبيل المثال، يمكن إنشاء نمط " زر اختيار أزرق " ثم إعادة استخدامه على أي عدد من أزرار الاختيار في البرنامج. يمكن للأنماط تغيير مجموعات من خصائص عناصر التحكم، ولكنها غير مصممة لإجراء تغييرات هيكلية جوهرية.

القوالب هي آلية لتحديد واجهة مستخدم بديلة لأجزاء من تطبيق WPF. تتوفر أنواع عديدة من القوالب في WPF لسيناريوهات مختلفة، ولكنها جميعًا تشترك في الغرض العام المتمثل في تحديد محتوى وتخطيط وبنية عنصر واجهة المستخدم. [ 19 ]

الرسوم المتحركة

في WPF، يمكن تحريك العديد من الخصائص المرئية. ويتم ذلك من خلال خصائص التبعية، وهي نفس النظام الأساسي الذي يعتمد عليه ربط البيانات. وتعتمد رسوم WPF المتحركة على الوقت، بدلاً من الإطارات. [ 20 ]

تعتمد فئات الرسوم المتحركة على نوع الخاصية المراد تحريكها في .NET. على سبيل المثال، يتم تغيير لون عنصر باستخدام فئة ColorAnimation، بينما يتم تحريك عرض عنصر (الذي يُعرَّف كـ double ) باستخدام فئة DoubleAnimation. [ 20 ]

يمكن تجميع الرسوم المتحركة في لوحات قصصية، وهي الطريقة الأساسية لبدء الرسوم المتحركة وإيقافها وإيقافها مؤقتًا والتحكم فيها بأي شكل آخر. [ 20 ]

المستندات والنصوص

يدعم WPF المستندات ذات الصفحات بشكل أصلي. ويوفر DocumentViewerفئة مخصصة لقراءة المستندات ذات التنسيق الثابت. FlowDocumentReaderتوفر هذه الفئة أوضاع عرض مختلفة، مثل العرض لكل صفحة أو العرض القابل للتمرير، كما تعيد تدفق النص عند تغيير حجم منطقة العرض. وهي تدعم كلاً من مواصفات Open XML Paper واتفاقية Open Packaging Conventions . [ 21 ]

تتضمن WPF عددًا من ميزات عرض النصوص، بما في ذلك خطوط OpenType و TrueType وOpenType CFF ( تنسيق الخط المضغوط ). وهذا يعني أن WPF تدعم عددًا كبيرًا من ميزات النصوص، بما في ذلك الوصلات ، والأرقام القديمة ، والزخارف ، والكسور ، والرموز المرتفعة والمنخفضة ، والأحرف الصغيرة ، والأحرف الحمراء ، واستبدال الرموز ، وخطوط الأساس المتعددة ، والتباعد بين الأحرف . [ 22 ]

يدعم WPF النصوص بنظام Unicode ، ويتعامل معها بشكل مستقل عن الإعدادات العامة، مثل لغة النظام. بالإضافة إلى ذلك، يوفر آليات احتياطية تسمح بالتعامل مع اتجاه الكتابة (أفقي أو رأسي) بغض النظر عن اسم الخط؛ وإنشاء خطوط دولية من خطوط مركبة، باستخدام مجموعة من الخطوط أحادية اللغة؛ وتضمين الخطوط المركبة. تُخزَّن معلومات ربط الخطوط والخطوط الاحتياطية في ملف XML قابل للنقل، باستخدام تقنية الخطوط المركبة. [ 23 ] امتداد ملف XML هو .CompositeFont .

يدعم محرك النصوص في WPF أيضًا التدقيق الإملائي المدمج . كما يدعم ميزات مثل التباعد التلقائي بين الأسطر، والنصوص الدولية المحسّنة، وتقسيم الأسطر وفقًا للغة، والوصل ، والمحاذاة، وتأثيرات الصور النقطية، والتحويلات، وتأثيرات النصوص مثل الظلال، والضبابية، والتوهج، والتدوير، وما إلى ذلك. ويدعم أيضًا النصوص المتحركة؛ وهذا يشمل الرموز المتحركة، بالإضافة إلى التغييرات في الوقت الفعلي في موضع النص وحجمه ولونه وشفافيته.

تستفيد تقنية عرض النصوص في WPF من التطورات في تقنية ClearType ، مثل تحديد المواقع على مستوى البكسل الفرعي، وعرض التقدم الطبيعي، والتنعيم في الاتجاه Y، وعرض النصوص المُسرّع بواسطة الأجهزة ، بالإضافة إلى التخزين المؤقت المكثف للنصوص المعروضة مسبقًا في ذاكرة الفيديو. [ 24 ] لا يمكن تعطيل ClearType في تطبيقات WPF 3.x القديمة. [ 25 ]

قابلية التشغيل البيني

تُصبح ميزات Windows Forms ممكنة من خلال استخدام الفئات ElementHostو WindowsFormsHost.

لتمكين استخدام WinForms، يقوم المطور بتنفيذ هذا من كود WPF C# الخاص به: [ 26 ]

باستخدام System.Windows.Forms.Integration ؛WindowsFormsHost.EnableWindowsFormsInterop ( ) ;

تستطيع برامج WPF، عبر ميزة P/Invoke في بيئة CLR ، الوصول إلى وظائف النظام الأصلية، مثل استدعاء الدوال من مكتبات ويندوز . وهذا يتيح لها القدرة على التواصل مع أجزاء أخرى من نظام التشغيل والتحكم بها، بما في ذلك المكتبات غير المُدارة . [ 27 ]

المدخلات البديلة وإمكانية الوصول

يدعم WPF ميزة Windows Ink للإدخال باستخدام القلم ، [ 28 ] والإدخال متعدد اللمس على نظام التشغيل Windows 7 والإصدارات الأحدث. [ 29 ] كما يدعم أيضًا Microsoft UI Automation لتمكين المطورين من إنشاء واجهات سهلة الاستخدام، وعرض واجهة المستخدم لأطر الاختبار الآلية. [ 30 ]

XAML

بعد نجاح لغات الترميز في تطوير الويب، قدمت WPF لغة ترميز التطبيقات القابلة للتوسيع ( XAML ؛ / ˈzæməl / ) ، وهي لغة مبنية على XML . صُممت XAML كطريقة أكثر كفاءة لتطوير واجهات المستخدم للتطبيقات. [ 31 ] XAML لغة وصفية ، أي أن المطور (أو المصمم) يصف سلوك وتكامل المكونات دون استخدام البرمجة الإجرائية . على الرغم من ندرة بناء تطبيق كامل باستخدام XAML، إلا أن إدخالها يُتيح لمصممي التطبيقات المساهمة بفعالية أكبر في دورة تطوير التطبيقات. كما يُتيح استخدام XAML لتطوير واجهات المستخدم فصل النموذج عن العرض، وهو ما يُعتبر مبدأً معماريًا جيدًا. [ 32 ] في XAML، تُطابق العناصر والسمات الفئات والخصائص في واجهات برمجة التطبيقات الأساسية.

كما هو الحال في تطوير مواقع الويب، فإنّ كلاً من التخطيطات والسمات المحددة مناسبة تمامًا للغة الترميز، ولكن XAML ليس شرطًا لأي منهما. في الواقع، يمكن برمجة جميع عناصر WPF بلغة .NET ( مثل C# أو VB.NET ). ويمكن في النهاية تجميع كود XAML في مكتبة مُدارة بنفس طريقة تجميع جميع لغات .NET.

الانتشار

تطبيقات WPF هي ملفات تنفيذية مستقلة تعمل على سطح المكتب فقط، وهي مخصصة لنظام التشغيل Windows .

تاريخياً، كان WPF يدعم الترجمة إلى XBAP ، وهو تنسيق ملف مصمم للعرض في متصفحات الويب عبر إضافة NPAPI ، ولكن تم إيقاف دعم NPAPI وXBAP تدريجياً من قبل المتصفحات، ولم تعد ترجمة XBAP مضمنة في WPF لـ .NET. [ 33 ] [ 34 ]

الاستخدام والتأثير

تُستخدم WPF لتطوير Visual Studio ، بيئة التطوير المتكاملة الرئيسية لشركة Microsoft ، وقد استُخدمت أيضًا لتطوير Microsoft Expression Blend . [ 35 ]

مثال على تطبيق تم إنشاؤه باستخدام UWP، وهو إطار عمل قائم على XAML متأثر بـ WPF

أثرت منصة WPF ولغة تخطيطها XAML على العديد من أطر عمل واجهة المستخدم الأخرى. أما Silverlight (الاسم الرمزي WPF/E - WPF Everywhere)، الذي صدر عام 2007، فهو إضافة متصفح قديمة تعمل على جميع المتصفحات . كانت Silverlight تعتمد على WPF في تطبيقها، بما في ذلك استخدام XAML للتخطيط، ودعم الفيديو والرسومات المتجهة والرسوم المتحركة. [ 36 ] وباستخدام الإضافات، كانت مدعومة على متصفحات Mozilla Firefox و Internet Explorer 6 والإصدارات الأحدث، و Google Chrome 42 والإصدارات الأقدم، و Apple Safari . شجعت مايكروسوفت المطورين على التوقف عن استخدام Silverlight عام 2015، [ 37 ] وانتهى الدعم رسميًا عام 2021. [ 38 ]

بعد أن أصبح WPF مفتوح المصدر في عام 2018، ألهم تطوير Avalonia ، وهو إطار عمل مفتوح المصدر لواجهة المستخدم قائم على XAML ومتعدد المنصات، مبني على .NET، وموزع بموجب ترخيص MIT . [ 39 ] في حين أن WPF مصمم لنظام Windows فقط، يدعم Avalonia أيضًا إصدارات الويب (عبر WebAssemblyوMacOS ، و Android ، و iOS ، و Linux . يشير اسم Avalonia إلى الاسم الرمزي لـ WPF أثناء التطوير ("Avalon")، ويُسوّق نفسه على أنه "خليفة روحي لـ WPF". [ 40 ] يُستخدم Avalonia حاليًا في أدوات من تطوير Unity و GitHub و JetBrains . [ 41 ]

OpenSilver هو إطار عمل مصمم لترحيل حلول WPF إلى الويب باستخدام WebAssembly . وقد تضمن الإصدار 3.1 من OpenSilver، الذي صدر في ديسمبر 2024، مصمم XAML للاستخدام في Visual Studio Code . [ 42 ]

تم اعتماد لغة XAML، التي صُممت في الأصل لـ WPF، لمكتبات واجهة المستخدم الأخرى المشابهة التي طورتها مايكروسوفت، مثل UWP ، [ 43 ] المصممة لتطبيقات Windows 10 و Windows 11 و Xbox One و Xbox Series S/X ، و. NET MAUI (المعروفة سابقًا باسم Xamarin.Forms )، المصممة لإنشاء تطبيقات أصلية متعددة المنصات لنظامي Android و iOS . [ 44 ]

تطوير

يستخدم مطورو تطبيقات WPF عادةً برنامج Microsoft Visual Studio . يحتوي Visual Studio على محرر XAML مدمج ومصمم مرئي لـ WPF، بدءًا من إصدار Visual Studio 2008. [ 45 ] قبل Visual Studio 2008، كانت إضافة مصمم WPF ، التي تحمل الاسم الرمزي Cider، هي الإصدار الأصلي لمحرر WYSIWYG لإنشاء نوافذ وصفحات وعناصر تحكم WPF. كانت هذه الإضافة متاحة لإصدار Visual Studio 2005 كإضافة لـ .NET Framework 3.0 CTP للإصدار الأولي من WPF. [ 46 ]

لا يُشترط استخدام Visual Studio لتطوير مشاريع WPF، حيث يمكن إنشاء الحلول في سطر الأوامر باستخدام MSBuild . [ 47 ]

مايكروسوفت بلند أداةٌ مُصممةٌ خصيصًا للمصممين، تُوفر لوحةً فنيةً لإنشاء تطبيقات WPF برسومات ثنائية وثلاثية الأبعاد، ونصوص، ونماذج. تُنشئ هذه الأداة ملفات XAML يُمكن تصديرها إلى أدواتٍ أخرى، كما تُشارك تنسيقات الحلول (ملفات sln) والمشاريع (csproj، vbproj) مع مايكروسوفت فيجوال ستوديو. أما مايكروسوفت إكسبريشن ديزاين، فهي أداةٌ لتصدير الرسومات النقطية والمتجهة ثنائية الأبعاد إلى XAML .

مراجع

  1. "v8.0.5" . github.com . 2023-05-14 . تم الاطلاع عليه بتاريخ 2023-05-30 .
  2. "ما هي تقنية Windows Presentation Foundation - WPF .NET؟" . learn.microsoft.com . 2023-06-02 . تم الاطلاع عليه بتاريخ 2024-05-15 .
  3. 1 2 مارتن، جيف (4 ديسمبر 2018). "مايكروسوفت تفتح مصادر WPF وWinForms وWinUI" . InfoQ . تم الاسترجاع في 6 ديسمبر 2018 .
  4. 1 2 dotnet-bot. "نظرة عامة على XAML (WPF)" . msdn.microsoft.com . تم الاطلاع عليه بتاريخ 31 مارس 2018 .
  5. سيلز، كريس؛ غريفيث، إيان (2007). برمجة WPF: بناء واجهة مستخدم ويندوز باستخدام Windows Presentation Foundation . دار نشر أورايلي ميديا. رقم ISBN 9780596554798.
  6. ثوروت، بول (29 أبريل 2005). "موقع بول ثوروت المميز لنظام ويندوز: الطريق إلى ويندوز لونغهورن 2005" . www.winsupersite.com . مؤرشف من الأصل بتاريخ 7 مايو 2005. تم الاطلاع عليه بتاريخ 11 أكتوبر 2025 .
  7. سوماسيجار، س. (9 يونيو 2006). "مدونة سوماسيجار : إطار عمل .NET 3.0" . blogs.msdn.com . مؤرشف من الأصل بتاريخ 11 يونيو 2007. تم الاطلاع عليه بتاريخ 11 أكتوبر 2025 . 
  8. kexugit (14-03-2007). "Mailbag: ما هو إصدار .NET Framework المُضمّن في أي إصدار من نظام التشغيل؟" . learn.microsoft.com . تاريخ الاسترجاع: 25-05-2024 .
  9. جيوارين (24-04-2024). "إطار عمل .NET وإصدارات نظام التشغيل ويندوز - إطار عمل .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 25-05-2024 .
  10. هانسيلمان، سكوت (4 ديسمبر 2018). "الإعلان عن تحويل WPF وWinForms وWinUI إلى برامج مفتوحة المصدر" . تم الاطلاع عليه بتاريخ 6 ديسمبر 2018 .
  11. الرسومات والوسائط المتعددة . Msdn.Microsoft.com. تم الاطلاع عليه بتاريخ 29-08-2013.
  12. dotnet-bot. "فئة التأثير (System.Windows.Media.Effects)" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 22-05-2024 .
  13. 4. كيف تستخدم WPF وSilverlight التظليل - HLSL وتظليل البكسل لمطوري XAML [ كتاب ] . ISBN 978-1-4493-2499-5تم الاطلاع عليه بتاريخ 28-05-2024 .{{cite book}}تم |website=تجاهله ( مساعدة )
  14. "تقديم Windows Presentation Foundation" . msdn.microsoft.com . 11 مايو 2010. تم الاطلاع عليه في 31 مارس 2018 .
  15. "ما الجديد في WPF 3.5؟ إليك خمسة عشر ميزة رائعة..." تم الاسترجاع في 2007-10-14 .
  16. 1 2 3 4 adegeo (2023-09-02). "نظرة عامة على ربط البيانات - WPF .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 2024-05-22 .
  17. adegeo (2022-06-28). "نظرة عامة على خصائص التبعية - WPF .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 2024-05-22 .
  18. kexugit (2016-12-08). "الأنماط - تطبيقات WPF باستخدام نمط تصميم Model-View-ViewModel" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 25-05-2024 .
  19. أدجيو (2023-03-03). "الأنماط والقوالب - WPF .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 22-05-2024 .
  20. 1 2 3 adegeo (2022-03-17). "نظرة عامة على الرسوم المتحركة - إطار عمل WPF .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 22-05-2024 .
  21. adegeo (2023-02-06). "نظرة عامة على المستندات - إطار عمل WPF .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 2024-05-22 .
  22. أدجيو (2022-08-18). "ميزات خط OpenType - إطار عمل WPF .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 22-05-2024 .
  23. "الطباعة في Windows Presentation Foundation" . msdn.microsoft.com . 3 نوفمبر 2006. تم الاطلاع عليه في 31 مارس 2018 .
  24. dotnet-bot. "نظرة عامة على ClearType" . msdn.microsoft.com . تم الاطلاع عليه بتاريخ 31 مارس 2018 .
  25. "تعطيل خاصية منع التعرجات" . social.msdn.microsoft.com . تم الاطلاع عليه بتاريخ 31 مارس 2018 .
  26. dotnet-bot. "WindowsFormsHost.EnableWindowsFormsInterop Method (System.Windows.Forms.Integration)" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 22-05-2024 .
  27. jkoritzinsky (2024-05-10). "استدعاء النظام الأساسي (P/Invoke) - .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 2024-05-25 .
  28. أدجيو (18 أغسطس 2022). "الحبر الرقمي - ويندوز فورمز وCOM مقابل WPF" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 22 مايو 2024 .
  29. kexugit (2015-08-12). "مجلة MSDN: آفاق واجهة المستخدم - أحداث التلاعب باللمس المتعدد في WPF" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 22-05-2024 .
  30. زانسكي. "نظرة عامة على أتمتة واجهة المستخدم" . msdn.microsoft.com . تم الاطلاع عليه بتاريخ 31 مارس 2018 .
  31. ماكدونالد، ماثيو (2010). Pro WPF in VB 2010: Windows Presentation Foundation in .NET 4. Apress. ISBN 9781430272403.
  32. لارمان، كريج. تطبيق لغة النمذجة الموحدة والأنماط: مقدمة في التحليل والتصميم الموجه للكائنات والعملية الموحدة (ملف PDF) (الطبعة الثانية ). ص 472.  
  33. adegeo. "أسئلة وأجوبة حول دعم XBAP" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 15-05-2024 .
  34. kexugit (2011-03-09). "IE9 - تم تعطيل XBAPs في منطقة الإنترنت" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 2024-05-15 .
  35. مدونة، فيجوال ستوديو (16 فبراير 2010). "WPF في فيجوال ستوديو 2010 - الجزء 1 : مقدمة" . مدونة فيجوال ستوديو . تاريخ الاسترجاع: 22 مايو 2024 . 
  36. kexugit (2019-10-01). "Silverlight: ابدأ ببناء تجربة أعمق عبر الويب" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 27-12-2024 .
  37. مدونة مايكروسوفت إيدج؛ سميث، جيري (2015-07-02). "الانتقال إلى وسائط HTML5 المميزة" . مدونة مايكروسوفت إيدج . تم الاطلاع بتاريخ 2024-05-23 .
  38. اسم GitHub. "Silverlight 5 - دورة حياة Microsoft" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 23-05-2024 .
  39. "إطار عمل عرض تقديمي متعدد المنصات لنظام ويندوز، هل من أحد مهتم؟ الإجابة المختصرة: نعم. فك ضغط أفالونيا" . مؤرشف من الأصل بتاريخ 27-09-2024 . تم الاطلاع عليه بتاريخ 27-12-2024 .
  40. "Avalonia UI - إطار عمل واجهة مستخدم متعدد المنصات لـ .NET" . Avalonia UI . تم الاطلاع عليه بتاريخ 16-05-2024 .
  41. "واجهة مستخدم أفالونيا - عرض توضيحي" . avaloniaui.net . تم الاطلاع عليه بتاريخ 23-05-2024 .
  42. "OpenSilver 3.1 يكشف عن مصمم XAML بتقنية السحب والإفلات لـ VS Code" . مجلة Visual Studio. 10 ديسمبر 2024. تم الاطلاع عليه بتاريخ 16 ديسمبر 2024 .
  43. jwmsft (2022-10-20). "منصة XAML - تطبيقات UWP" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 23-05-2024 .
  44. ديفيد بريتش (25 يوليو 2023). "XAML - .NET MAUI" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 23 مايو 2024 .
  45. ^ طاقم العمل، CodeGuru (2009-04-06). "جولة في WPF في Visual Studio 2008" . كود جورو . تم الاسترجاع بتاريخ 23-05-2024 .
  46. "تفاصيل التنزيل: Microsoft Visual Studio Code Name "Orcas" Community Technology Preview - أدوات تطوير WinFX™" . مايكروسوفت . 15 أبريل 2006. مؤرشف من الأصل في 15 أبريل 2006. تم الاطلاع عليه في 23 مايو 2024 .
  47. أدجيو (2022-08-18). "تجميع تطبيق - إطار عمل WPF .NET" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 2024-05-23 .

فهرس

  • آدم ناثان : إطلاق العنان لتقنية Windows Presentation Foundation (WPF) ، 21 ديسمبر 2006، دار نشر Sams، رقم ISBN 0-672-32891-7
  • كريس أندرسون : أساسيات مؤسسة ويندوز للعروض التقديمية (WPF) ، 11 أبريل 2007، أديسون-ويسلي، رقم ISBN 0-321-37447-9
  • كريس سيلز، إيان غريفيث: برمجة WPF ، 28 أغسطس 2007، دار نشر أورايلي ميديا، رقم ISBN 0-596-51037-3
  • آرلين فيلدمان ، ماكس دايمون : WPF عمليًا مع Visual Studio 2008 ، 21 نوفمبر 2008، منشورات مانينغ، ISBN 1-933988-22-3