Frage

ich habe ein Problem mit dem WPF Tab View-Steuerelement mit, dass ich hoffte, jemand hier vielleicht in der Lage sein, mir zu helfen mit.

Ich mag meine Steuerung Tabansicht abgerundete Ecken für die Messerleisten zu verwenden, weil ich abgerundet Tabs besser aussehen zu denken.

Um dies zu tun, modifizierte ich die Standard-Steuerelementvorlage für die Registerkarte, indem Sie das „Bearbeiten Kopieren“ -Befehl in Expression Blend verwenden. Ich habe dann setzen gerade den Eckenradius für die „Grenze“ des Registerkarte Header.

Das Problem bei diesem Ansatz ist jedoch, dass das „Bearbeiten Kopieren“ -Befehl wörtliche Farbwerte für die Steigung Bürsten zu erzeugen endet benutzt, um die „Aktiv“ angezeigt und „Mouse Over“ Tab Hintergründe.

Dies führt zu Problemen, wenn „hallo Kontrast“ -Modus aktiviert ist. Anstatt auf das Hallo Kontrastfarbschema Schalten, wie die anderen Steuerungen, die Lasche mit der modifizierten Vorlage werden die Literal-Farbwert angegeben im Gradienten Bürsten für die aktiven und Maus über Laschen Laschen verwenden. Dieser endet diese Registerkarten unlesbar machen, weil der Text auf der Registerkarte Kopfzeile auf „weiß“, wenn die OS-Schalter auf hallo Kontrastmodus (weißer Text auf einem grauen Hintergrund ist unleserlich) geändert wird.

ich dachte, ich könnte in der Lage sein, um Platz Tabs zu wechseln, wenn hallo-Kontrastmodus aktiviert ist, dass dieses spezielle Problem würde beheben. Allerdings stelle ich mir es ähnliche Probleme mit den Nutzern sein, die benutzerdefinierte Windows-Designs installiert.

Also, was ich frage mich, ist:

  1. Gibt es eine Möglichkeit, die Gradienten auf Systemressourcen Punkt ändern kann, anstatt Literalwerte so dass die Farben korrekt aktualisiert werden, wenn hallo-Kontrastmodus aktiviert ist
  2. Oder gibt es eine Möglichkeit für mich, den Eckenradius an der Grenze des Registerkarte Header zu setzen, ohne eine neue Steuervorlage erstellen?

Edit:

Ich glaube, ich sollte ein wenig mehr explizit über das, was ich suche. Ich möchte eine Registerkarte, die genau wie die Standard-Registerkarte verhält, mit der Ausnahme, dass die Registerkarte Kopf Ecken abgerundet sind. Standardmäßig wird eine Registerkarte Steigungen für die Registerkarte Hintergründe verwenden und „Option“ inaktive Tabs, wenn der Nutzer die Maus über sie. Es wird auch richtig reagieren und es die Farben ändern, und es ist die Maus über das Verhalten, wenn die OS schaltet auf hallo Kontrastmodus. Ich brauche noch dieses Verhalten.

eine Kopie der Standard-Steuerelementvorlage in Mischung Beim Erstellen einer Steuervorlage, die nicht richtig in hallo Kontrastmodus funktioniert. Ich will wissen, was ich an der Steuervorlage tun müssen, oder den Code in meinem Fenster, das erzeugte Steuervorlage erhalten in hallo-Kontrastmodus korrekt zu arbeiten.

War es hilfreich?

Lösung

Es gibt keine Möglichkeit, abgerundete Ecken Reiter zu machen, ohne ein eigenes Template für TabItem zu schaffen. „Bearbeiten Kopieren“ Doing in Mischung I erstellt Standardvorlage auf dem aktuelle Thema der Fenster, die Sie haben (ich jedoch basierend glauben falsch sein kann. Ich glaube, dass wehn Sie eine Control tun Dump es erhalten ist die aktuelle Steuervorlage, die vom System bestimmt wird, Thema. wie in presentation.aero oder so ähnlich). Allerdings, wenn Sie wollen, Farben liefern, die das System nutzen werden, wenn die Änderungen dann sie wie folgt in Ihrer Vorlage Marke, die benötigt:

Color="{DynamicResource {x:Static SystemColors.XXXX}"

Das wird die Systemfarben verwenden, um die Kontrolle stylen und aktualisiert werden, um Änderungen in dem System Thema zu reflektieren.

Andere Tipps

eine einfache Stil Kontrolle zu Ihrem Fenster in Mischung hinzufügen. Dies fügt die SimpleStyles.xaml, darunter eine für die Registerkarte.

Werfen Sie einen Blick auf die Family.Show und wie sie tun, um die schwarzen und silbernen Themen.

Zwischen diesen beiden sollten Sie ein gutes Beispiel davon, wie die Registerkarte Steuerung anpassen und verschiedene Themen behandeln.

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