Derzeit können Sie nichts dagegen unternehmen. WPF-Anwendungen haben ein eigenes Design [das nicht mit dem Windows-Design gekoppelt ist]. Das Beste, was ich vorschlagen könnte, ist, dass Sie eine App schreiben oder Ihre eigene DLL erstellen, durch die das WPF-Design in die von Ihnen gewünschte geändert wird. Dafür würden Sie viel Anerkennung finden.
WPF-Fenster kooperieren nicht mit inoffiziellen Themen
Vor einiger Zeit entschied ich mich für ein Patch uxtheme.dll
(mit dem Universal Theme Patcher ), um die Verwendung inoffizieller Fensterdesigns zu ermöglichen. Das Problem ist, dass WPF-Anwendungen das benutzerdefinierte Design für native Windows-Steuerelemente (z. B. Bildlaufleisten und Schaltflächen) ignorieren und stattdessen das klassische Design verwenden.
Das ist mir zum ersten Mal bei Visual Studio 2010 aufgefallen:
Ich dachte, es wäre ein Fehler im Programm selbst, aber das Erstellen meiner eigenen WPF-Anwendung führt zu demselben Ergebnis:
Beim Googeln wird gezeigt, dass ich nicht die einzige Person mit diesem Problem bin, aber keine Lösung gefunden habe.
Kann ich irgendetwas dagegen tun? Sollte ich einen anderen uxtheme.dll
Patcher ausprobieren? Oder ist es das, was ich versuche zu [Keuchen] Windows anpassen?
4 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
Es gibt eine gute Lösung für dieses Problem. Das folgende Verfahren weist WPF an, das Windows Vista / 7-Design anstelle von Windows Basic (für die Steuerelemente) zu verwenden.
Der Grund dafür, dass die Verwendung eines neuen Designs diese Probleme verursacht, besteht darin, dass wpf herausfindet, welches Design festgelegt ist, indem der Dateiname des aktuell aktivierten visuellen Stils überprüft wird. Wenn der Name "aero.msstyles" lautet, wird das Aero-Design verwendet. Wenn es sich um "luna.msstyles" handelt, geht es einen Schritt weiter und überprüft das aktuelle Farbschema, um die Farben fein abzustimmen (NormalColor, Metallic, Homestead sind die Farbschemata für Windows XP, Windows Vista gibt das Farbschemakonzept voll und ganz zu Gunsten von) Windows Aero). In wpf gibt es auch ein integriertes Thema für "royale.msstyles". Wenn die Design-Datei einen Namen hat, den wpf nicht erkennt, wird stattdessen nur das grundlegende Windows-Design verwendet.
Die Problemumgehung? Benennen Sie Ihren visuellen Stil von "} .msstyles" in "aero.msstyles" um, und ändern Sie dann die zugehörigen ".theme" -Dateien im Editor, um den neuen Namen zu berücksichtigen (beachten Sie, dass Sie den visuellen Stil jetzt nur mit einem Design anwenden können Datei). WPF zeigt jetzt den Windows Vista-Style anstelle von Windows Basic ;-).
Ich habe diese Frage auch vor einiger Zeit gestellt und konnte keine Antworten finden.
https://stackoverflow.com/questions/7495906/visual-studio-2010-classic-system-theme
Das einzige von Visual Studio 2010 unterstützte Design ist das Standard-Aero-Design. Ich habe schon bemerkt, dass einige Themen es unterstützen, aber die meisten nicht.
Ich habe alles versucht, VS2010 als Administrator ausführen, im Kompatibilitätsmodus ausführen, SP1 installieren / deinstallieren usw.
Wir müssen uns an die Regeln von Microsoft halten: P
plz Entschuldigung, ich hatte nicht genug "Punkte", um aus dem Kontext von AlexKvens Antwort etwas zu kommentieren oder zu erklären
Ich wollte nur hinzufügen, für Interessierte…
In der *.theme
Datei müssen Sie aero.msstyles
in Titlecase angeben . also sollte es so etwas wie Path=%ResourceDir%\themes\path\to\Aero.msstyles
gegen lesen ...\aero.msstyles
.
Siehe auch: github.com/riverar/uxstyle
Verwandte Probleme
-
12
Warum wird der Ordner / winsxs so groß und kann er verkleinert werden?
-
2
Erhöhte Berechtigungen für Startanwendungen in Windows?
-
14
PDF Viewer unter Windows
-
7
Welche Windows-Dienste kann ich sicher deaktivieren?
-
8
Firefox PDF-Plugin zum Anzeigen von PDF-Dateien im Browser unter Windows
-
1
Windows verliert das Bildschirmlayout
-
1
Gibt es eine Möglichkeit, Installationen / Updates zu verhindern, die meine Festplatte mit kryptisch...
-
1
Wie kann ich von Ubuntu aus über das Netzwerk auf Windows Vista-Drucker zugreifen?
-
6
Log Viewer unter Windows
-
3
Windows-Hintergrundproblem mit zwei Bildschirmen