مساعدة: تغيير بيان WPF بيان؟
-
11-09-2019 - |
سؤال
لقد نشرت تعليقا على مايكروسوفت أن مربعات الحوار في WPF ليست تمكين VisualStyle.
قام جو كاسترو بنشر حلدا لا أفهمه حقا كيفية تحقيقه، هل يمكن لأي شخص أن يساعد؟
هنا هو استجابة:
بالنسبة للتطبيقات، Force Forks، لا تستخدم التطبيقات افتراضيا V6 من عناصر التحكم الشائعة للنظام (متوفر منذ XP). هذا لا ينطبق حقا على WPF، لكنك أيضا ترى ذلك فقط في بعض الحالات عند استخدام عناصر التحكم الأصلية لذلك ليس سائدا مثل WinForms حيث يتم لف واجهات برمجة تطبيقاتهم فقط عناصر التحكم القياسية.
لإصلاح هذا في WPF، تحتاج إلى التقيد بشكل صريح إلى V6 Comctl32 عن طريق تحديده في بيض في Exe. يجب أن يتم ذلك على EXE، لذلك لا يستطيع WPF القيام بذلك كجزء من DLLs. هل يؤدي ذلك في وقت التشغيل، لكن بهذه الطريقة أفضل بشكل عام.
على سبيل المثال، شيء مثل:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>MyExe.exe</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"/>
</dependentAssembly>
</dependency>
</assembly>
المحلول
كتبت عن ذلك على مدونتي منذ بعض الوقت:
هذه المشاركات تصف المشكلة والحل: http://www.nbdtech.com/blog/archive/2008/05/28/28/09/28/28/28/28/28/9/Why-Andting-Old-Old-Style-file-dialogs-message.aspx. , http://www.nbdtech.com/blog/archive/2008/06/06/08/will-setting-a-manifest-solve-my-wpf-message-box-style.aspx.
هذا المنشور هو ما تبحث عنه: http://www.nbdtech.com/blog/archive/2008/06/16/16/16/16/16/16/16/16/16/16/16/16/16/16/16/16/16/16/16/16/3
وتحدث هذه حول كيفية الحصول على نمط Vista لملف فتح وحفظ مربعات الحوار: http://www.nbdtech.com/blog/archive/2008/07/15/15/15/15/15/15/15/15/15/15/15/Vista-Style-open-and-save-dialogs-with-wpf-without-using.aspx.
نصائح أخرى
في Visual Basic، يتم تنظيم خصائص المشروع بشكل مختلف قليلا. إذا وجدت هذا السؤال وأنت في VB في VS2010، فاتبع هذه الإرشادات لتوليد app.manifest. ملف.
- لإنشاء an. app.manifest. ملف، انتقل إلى مشروعك، وحدد خصائص. ثم انقر فوق عرض إعدادات النافذة, ، تحت تطبيق التبويب.
- هذا يجب أن تولد وفتح app.manifest. ملف، الذي يتم حفظه في مجلد مشروعي
قراءة متعمقة: نمط نافذة WPF MessageBox