Die Verwendung mehrerer Arten auf Elemente in XAML (Windows 8
XAML-Stile sind groß für die Formatierung und allgemeine Eigenschaften Setter zu schaffen, die leicht auf Elemente in Ihrem UI angewendet werden können.
Sie sind massiv in Windows Phone, Windows 8 und Silverlight sowie in WPF verwendet. (Beachten Sie, dass einige bedingte Kompilierung für den Unterschied zwischen Win8 XAML und WP XAML zu berücksichtigen auftritt.
Einer der größten Nachteile von Styles ist, dass man sie nicht kombinieren kann - es gibt keinen Weg mehr als einen Stil auf ein Element anzuwenden. Es gibt eine Reihe von Möglichkeiten, um diesen, aber am Ende des Tages, die meisten Menschen in-Futter einige der Arten enden. Es ist möglich, Stile zu „erben“, aber dann alles, was Sie sofort gewinnen die Eigenschaften, die Sie auf basieren, die nicht immer erwünscht ist.
Ein Beispiel hierfür wäre, wenn Sie die folgenden Stile haben:
- Header - Wird von Ihnen großen Text zu spezifizieren, die sehr sichtbar sein muss.
- textForMessageStyle - Wird verwendet, wenn Sie Text haben, die vielleicht-off laufen und Sie wollen es wickeln und ein Auslassungszeichen am Ende des es ausdrückte.
- centeredStyle - Für Text Zentrierung - Vertical und Textalignment sind Zentrum gesetzt, während Horizontal gesetzt zu dehnen.
Beachten Sie, dass CompoundStyle eine großen Einzug Rückseite hat, und das ist, dass es nicht dynamisch verändert werden kann. Nach der Zuweisung wird „eingefroren“ werden. Wenn Sie Ihre Stile binden, wird dies wahrscheinlich nicht gut genug für dich sein. Sie sollten den Code zu überarbeiten können, und einige der Objekte als DependencyObjects und setzen sie als Abhängigkeitseigenschaften (speziell in der StyleHolder Klasse) zu definieren.
Erstellen eines Stil basierend auf mehreren Stilen
Wenn Sie eine Verbindung Stil in Ihrem Ressource-Wörterbuch erstellen möchten, das ist ziemlich einfach:
den Stil zu verwenden ist etwas anders als eine Art verwenden, die in einer Ressource ist:
Da die Style-Klasse versiegelt ist, gibt es keine Möglichkeit, nur sie erben und können Entwickler einfach den Stil verweisen, traurig. Stattdessen binden wir definieren, was die Quelle (unsere Ressource) und die Eigenschaft angeben, die die Verbindung Stil (Style) enthält.
Die Eigenschaften Style1, Style2, Style3, Style4, style5 können Sie in „Kurz Hand“ 5 Arten anzuwenden auf. Wenn Sie mehr Arten benötigen, können Sie die BasedOnStyles Sammlung verwenden statt:
Direkt Anbringen Verbindung Stil (keine Ressource)
Wenn Sie Ihre Verbindung Stil zu spezifizieren, aber nicht als eine Ressource, sondern direkt auf dem Element, können Sie das auch tun. Es ist möglich, nur die beigefügte Eigenschaft Befestigt ein CompoundStyle auf ein Element zu setzen:
Direkt mit nur Stilnamen Befestigung
Schließlich gibt es noch eine noch kürzere Verfahren der Stile zu einem Element über die StyleKeys angebracht Eigenschaften anzubringen. Dieses Verfahren hat drei Nachteile es:
- Es ist nicht „type safe“. Das heißt - der Compiler und Designer werden Sie nicht warnen, dass etwas nicht in Ordnung ist, wenn Sie den Schlüssel einer Ressource oder etwas falsch eingeben.
- Es wird nur nach dem Element geladen wird angewendet. Dies sollte keine größeren Probleme verursachen, aber es lohnt sich zu wissen.
- Wenn Ihr Ressourcennamen ein Komma in ihm hat, wird dieser Mechanismus Sie scheitern (ernsthaft - wer setzt ein Komma in einer Ressource-Namen Was sind wir Tiere??)
Hier ist, wie Sie die Stile anwenden, wenn diese Methode verwenden:
Das wars so ziemlich! Sie können den Code hier herunterladen.