2009-03-07 23 views
2

Wie können Sie auf die integrierten WPF-Stile/Vorlagen zugreifen?Wiederverwendung integrierter WPF-Stile

Zum Beispiel versuche ich, das Chrome des NavigationWindows an den unteren Rand des Fensters zu bewegen. Ich habe Microsofts NavigationWindow template example gesehen, aber es ist ziemlich ausführlich und verwendet das Standardnavigationschrom nicht wieder.

Ich habe auch versucht, den Baum in Snoop zu betrachten. Das ganze Chrom ist in einem Rasterelement namens "NavChrome" enthalten, aber ich kann einen Hinweis darauf finden. Es scheint auch kein "PART_xyz" zu geben, das dem entspricht.

Für die CTP erwähnen einige Leute mit "PFThemeNavigationWindowNavigationButtonForwardButtonStyle", etc., für die Button-Stile, aber das scheint nicht mehr zu funktionieren.

Ist es also möglich, auf diese integrierten Stile zuzugreifen? Es wäre schön, sie auch an anderen Orten wiederzuverwenden!

Danke!


Edit: saldoukhov ‚s Antwort ist sehr hilfreich, aber ist es eine Möglichkeit, dies alles, dass XAML zu kopieren, ohne die Notwendigkeit zu tun? Es scheint einfach kein sehr DRY Ansatz zu mir.

Antwort

5

Normalerweise mache ich es in Expression Blend. Wählen Sie das Steuerelement-> Rechtsklick-> Bearbeiten von Steuerelementen (Vorlage) -> Bearbeiten einer Kopie ...

Dann hängt es davon ab, was Sie tun möchten. Wenn Sie Glück haben und die zu bearbeitende Vorlage einen Verweis auf Schlüsselressourcen enthält, mit denen Sie den gewünschten Effekt erzielen können, können Sie mit diesem Schlüssel nur eigene Ressourcen erstellen und diese in der Vorlage überschreiben In diesem Fall müssen Sie die vollständige Vorlage nicht mit sich herumtragen. Aber häufiger müssen Sie ein paar Dinge um die Vorlage herum ändern, also extrahieren Sie sie einfach in Ihre eigenen Ressourcen und fangen an herumzutragen.

3

keine Antwort auf Ihre Frage, aber ein kleiner Hinweis: Neben saldoukhov Antwort können Sie auch XamlPadX (http://blogs.msdn.com/llobo) verwenden, um Zugriff auf die integrierten Stile zu bekommen, wenn Sie nicht Expression Blend haben.