Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Immer wenn Sie eine benutzerdefinierte Benutzeroberfläche mit WPF erstellen, müssen Sie sicherstellen, dass sie dem Design von Visual Studio entspricht. Auf diese Weise sieht Ihre Benutzeroberfläche nativ aus und fühlt sich eher wie ein natürlicher Teil von Visual Studio an. Wenn dies nicht der Fall ist, sehen Ihre Toolfenster und Dialogfelder möglicherweise im Design "Hell" wie folgt aus:
Beachten Sie, wie der Abstand um Textfelder und Schaltflächen nicht richtig aussieht? Es wird noch schlimmer im dunklen Design:
Der Text und die Hintergrundfarben machen es nun fast unmöglich zu lesen. Nicht gut.
Es gibt eine einfache Möglichkeit, sicherzustellen, dass hintergrundfarben, Schaltflächenformaten usw. von Visual Studio mit einem einfachen kleinen Trick übereinstimmen. Auf diese Weise kann die gleiche Benutzeroberfläche im Design "Hell" wie folgt aussehen:
Oder im Design "Dunkel":
Das sieht viel besser aus. Sehen wir uns an, wie wir unsere Benutzeroberfläche entwerfen können.
WPF UserControl
Hier ist ein Beispiel für einen WPF <UserControl>
, der direkt in einem Toolfenster verwendet werden kann.
<UserControl x:Class="TestExtension.RunnerWindowControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:toolkit="clr-namespace:Community.VisualStudio.Toolkit;assembly=Community.VisualStudio.Toolkit"
toolkit:Themes.UseVsTheme="True">
Beachten Sie den importierten xmlns:toolkit
Namespace und das toolkit:Themes.UseVsTheme="True"
Attribut. Sie wenden automatisch die offizielle Formatierung für WPF-Steuerelemente an, die Visual Studio selbst verwendet. Wir müssen nichts anderes tun, um die Formatierung auf das gesamte Element <UserControl>
anzuwenden. Kein Problem!
Ein zusätzlicher Vorteil besteht darin, dass unsere Benutzeroberfläche sofort wechselt, wenn der Benutzer das Farbdesign von z. B. Hell in Dunkel ändert, ohne dass es neu geladen werden muss.
DialogWindow-Steuerelement
Visual Studio wird mit einem Steuerelement ausgeliefert, das wir für benutzerdefinierte Fenster verwenden können. Dies ist das DialogWindow
Steuerelement. Es wird empfohlen, dies für alle Dialogfelder zu verwenden, kann aber auch in Toolfenstern verwendet werden.
Es ähnelt sehr anderen XAML-Fenstertypen.
<platform:DialogWindow
x:Class="TestExtension.ThemeWindowDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:platform="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.15.0"
xmlns:toolkit="clr-namespace:Community.VisualStudio.Toolkit;assembly=Community.VisualStudio.Toolkit"
toolkit:Themes.UseVsTheme="True">
Beachten Sie die importierten Namespaces sowohl für das Toolkit als auch für die Plattform und das Attribut toolkit:Themes.UseVsTheme="True"
.
Das ist auch schon alles. Ihr Dialogfeld wird jetzt mit Visual Studio-Farben und -Formaten gestaltet.
Herunterladen des Quellcodes
Sie finden den Quellcode für diese Erweiterung im Community Toolkit-Testprojekt.
Zugehöriger Inhalt
Erfahren Sie mehr über Visual Studio-Farben aus diesen Ressourcen.