Freigeben über


Inlinestile und -vorlagen

Aktualisiert: November 2007

Windows Presentation Foundation (WPF) stellt Style-Objekte und -Vorlagenobjekte (FrameworkTemplate subclasses) zur Definition des Erscheinungsbilds eines Elements in Ressourcen bereit, sodass sie mehrmals verwendet werden können. Aus diesem Grund enthalten Attribute in XAML mit den Typen Style und FrameworkTemplate fast immer Ressourcenverweise auf vorhandene Stile und Vorlagen, statt neue zu definieren.

Einschränkungen für Inlinestile und -vorlagen

In Extensible Application Markup Language (XAML) gibt es technisch zwei Möglichkeiten zum Festlegen von Stil- und Vorlageneigenschaften. Sie können mit Attributsyntax auf einen Stil verweisen, der in einer Ressource definiert wurde, z. B. <object Style="{StaticResource myResourceKey}" .../>. Oder Sie können Eigenschaftenelementsyntax verwenden, um einen Inlinestil zu definieren. Beispiel:

<object>

<object.Style>

<Style .../>

</object.Style>

</object>

Viel häufiger werden Attribute verwendet. Ein inline definierter Stil, der nicht in Ressourcen definiert ist, ist auf das darin enthaltene Element beschränkt und kann nicht so einfach wiederverwendet werden, da er nicht über einen Ressourcenschlüssel verfügt. In der Regel ist ein Ressourcen-definierter Stil vielseitiger verwendbar und entspricht eher dem allgemeinen Prinzip des Windows Presentation Foundation (WPF)-Programmiermodells, Programmlogik in Code von Entwurfslogik in Markup zu trennen.

Normalerweise liegt keine Notwendigkeit vor, einen Stil oder eine Vorlage inline zu definieren, selbst wenn Sie den Stil bzw. die Vorlage nur an der betreffenden Position verwenden möchten. Die meisten Elemente, die Stile und Vorlagen unterstützen, unterstützen auch Inhaltseigenschaften und Inhaltsmodelle. Wenn Sie die logische Struktur für den Stil oder die Vorlage nur einmal verwenden, ist es einfacher, im direkten Markup die entsprechenden untergeordneten Elemente in die Inhaltseigenschaft einzufügen. Hierdurch umgehen Sie die Stil- und Vorlagenmechanismen vollständig.

Des Weiteren können Sie für Stile und Vorlagen andere Syntaxarten verwenden, die durch Markuperweiterungen aktiviert werden. Zwei dieser Erweiterungen mit möglichen Szenarios sind TemplateBinding und Binding.

Siehe auch

Konzepte

Erstellen von Formaten und Vorlagen