عن المشروع

MahApps.Metro هي مجموعة أدوات لواجهة المستخدم لتطبيقات WPF (Windows Presentation Foundation) تمنح المطورين مظهرًا عصريًا بنمط Metro لتطبيقات سطح المكتب بأقل جهد. بدلاً من استبدال عناصر التحكم الموجودة، تقوم بإعادة تصميم عناصر التحكم القياسية في WPF مثل Button وTextBox وDataGrid وTreeView وغيرها، عن طريق دمج قواميس الموارد، دون الحاجة إلى إعادة كتابة أو تقييد بمورد معين. تشمل الميزات الرئيسية: - **MetroWindow**: إطار نافذة مخصص يستبدل شريط العنوان في Windows بأوامر يتحكم بها المطور، وحدود متوهجة ملونة، وطبقة تراكب للحوارات، وألواح منزلقة من أي حافة. - **محرك السمات**: سمة أساسية (فاتحة أو داكنة) بالإضافة إلى لون مميز، يمكن تبديلها أثناء التشغيل. يمكن لـ ThemeManager تتبع لون Windows المميز وإعداد النظام الفاتح/الداكن، ويمكن إنشاء سمات مخصصة من نفس المخطط. - **عناصر التحكم في التنقل**: HamburgerMenu لنمط الشريط الجانبي، وSplitView، وألواح منزلقة من أي حافة، وعلامات تبويب متحركة، وMetroNavigationWindow للتنقل القائم على الصفحات. - **الحوارات**: حوارات الرسائل، والإدخال، وتسجيل الدخول، والتقدم تظهر كطبقة تراكب داخل النافذة بدلاً من كونها نافذة منبثقة مانعة. يمكن انتظارها واستخدامها من نموذج العرض. - **عناصر التحكم في الإدخال والبيانات**: ColorPicker وDateTimePicker وNumericUpDown وMultiSelectionComboBox وHotKeyBox وDataGrid معاد تصميمه. - **عناصر التغذية الراجعة**: الشارات، وأشرطة وحلقات التقدم، ومفاتيح التبديل، والنوافذ المنبثقة للتحقق. - **الخصائص المرفقة**: العلامات المائية، وأزرار المسح، وأنصاف أقطر الزوايا لكل عنصر تحكم، وتنسيق التدقيق الإملائي، وفرش العناصر المحددة تأتي كخصائص مرفقة (مثل TextBoxHelper.Watermark)، بحيث تُطبق على عناصر التحكم بدلاً من وراثتها من عناصر خاصة. - **أنماط السمات**: سمات تتبع Visual Studio أو Windows 10 أو اصطلاحات WinUI. بدأ المشروع في 29 يناير 2011، وهو مرخص بموجب MIT، وهو جزء من .NET Foundation منذ عام 2020. وقد ساهم فيه أكثر من 160 شخصًا. يعمل الإصدار 2.4 على .NET Framework 4.5.2 والإصدارات الأحدث وكذلك .NET Core 3.x. أما الإصدار 3.0 (مرشح للإصدار على NuGet) فيستهدف .NET Framework 4.6.2 و.NET 6 و.NET 8، ويجلب إطار النافذة حتى Windows 11: أزرار التكبير مسجلة كعناصر تحكم غير تابعة، بحيث تشارك في تخطيطات الالتقاط، ويمكن للنافذة استخدام مواد الخلفية الأحدث. يتم توزيع المجموعة عبر NuGet وتُستخدم في تطبيقات إنتاجية مثل Package Manager وMarkdown Monster وChocolatey GUI وNetworkManager والعديد من التطبيقات الأخرى. وهي مجانية للاستخدام مفتوح المصدر والتجاري بموجب ترخيص MIT.