Frage

Ich habe einen Kommentar an Microsoft gepostet Dass die Dialogfelder in WPF nicht visualisiert werden können.

Joe Castro hat dort eine Problemumgehung gepostet, die ich nicht wirklich verstehe, wie ich es erreichen kann. Kann jemand helfen?

Hier ist er Antwort:

Aus App -Compat -Gründen verwenden Anwendungen nicht standardmäßig V6 der Common Controls des Systems (seit XP verfügbar). Dies gilt nicht wirklich für WPF, aber Sie sehen es auch nur in einigen Situationen, wenn Sie die nativen Steuerelemente verwenden, sodass es nicht so weit verbreitet ist wie Winforms, bei denen ihre APIs nur die Standardsteuerungen einwickeln.

Um dies in WPF zu beheben, müssen Sie sich explizit für V6 Comctl32 einteilen, indem Sie es in einem Manifest in Ihrem EXE angeben. Dies muss an der Exe erfolgen, also kann WPF dies nicht als Teil ihrer DLLs tun. EnablevisualStyles macht dies zur Laufzeit, ist aber im Allgemeinen besser.

ZB, so etwas wie:

<?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>
War es hilfreich?

Lösung

Andere Tipps

In Visual Basic sind die Projekteigenschaften etwas anders strukturiert. Wenn Sie diese Frage finden und Sie in VS2010 in VB sind, befolgen Sie diese Anweisungen, um eine zu generieren App.Manifest Datei.

  1. Um ein zu erstellen App.Manifest Datei, gehen Sie zu Ihrem Projekt und wählen Sie Eigenschaften. Klicken Sie dann auf Fenstereinstellungen anzeigen, unter dem Anwendung Tab.
    • ViewWindowSettings
  2. Dies sollte die erzeugen und öffnen App.Manifest Datei, die in Ihrem gespeichert ist Mein Projektordner
    • app.manifest

Weitere Lesung: WPF MessageBox Fensterstil

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top