سؤال

لقد نشرت تعليقا على مايكروسوفت أن مربعات الحوار في 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>
هل كانت مفيدة؟

المحلول

نصائح أخرى

في Visual Basic، يتم تنظيم خصائص المشروع بشكل مختلف قليلا. إذا وجدت هذا السؤال وأنت في VB في VS2010، فاتبع هذه الإرشادات لتوليد app.manifest. ملف.

  1. لإنشاء an. app.manifest. ملف، انتقل إلى مشروعك، وحدد خصائص. ثم انقر فوق عرض إعدادات النافذة, ، تحت تطبيق التبويب.
    • ViewWindowSettings
  2. هذا يجب أن تولد وفتح app.manifest. ملف، الذي يتم حفظه في مجلد مشروعي
    • app.manifest

قراءة متعمقة: نمط نافذة WPF MessageBox

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top