Style i szablony wbudowane
Program Windows Presentation Foundation (WPF) udostępnia Style obiekty i obiekty szablonu (FrameworkTemplate podklasy) jako sposób definiowania wizualnego wyglądu elementu w zasobach, dzięki czemu mogą być używane wielokrotnie. Z tego powodu atrybuty w języku XAML, które przyjmują typy Style i FrameworkTemplate prawie zawsze odwołują się do zasobów do istniejących stylów i szablonów, a nie definiują nowych wbudowanych.
Ograniczenia stylów wbudowanych i szablonów
W języku Extensible Application Markup Language (XAML) właściwości stylu i szablonu można technicznie ustawić na jeden z dwóch sposobów. Składnia atrybutów służy do odwołowania się do stylu zdefiniowanego w ramach zasobu, na przykład <
obiektuStyle="{StaticResource
myResourceKey.}" .../>
Możesz też użyć składni elementu właściwości, aby zdefiniować styl wbudowany, na przykład:
<
sprzeciwiać się >
<
sprzeciwiać się .Style>
<
Style
.../>
</
sprzeciwiać się .Style>
</
sprzeciwiać się >
Użycie atrybutów jest znacznie bardziej powszechne. Styl zdefiniowany śródwierszowo i niezdefiniowany w zasobach musi mieć zakres tylko do elementu zawierającego i nie może być ponownie używany tak łatwo, ponieważ nie ma klucza zasobu. Ogólnie rzecz biorąc, styl zdefiniowany przez zasób jest bardziej wszechstronny i przydatny, i jest bardziej zgodne z ogólną zasadą modelu programowania Windows Presentation Foundation (WPF) oddzielenia logiki programu w kodzie od projektu w adiustacji.
Zazwyczaj nie ma powodu, aby ustawić styl lub wbudowany szablon, nawet jeśli zamierzasz używać tego stylu lub szablonu tylko w tej lokalizacji. Większość elementów, które mogą przyjmować styl lub szablon, obsługuje również właściwość zawartości i con tryb namiotu l. Jeśli używasz tylko dowolnego drzewa logicznego tworzonego za pomocą stylów lub tworzenia szablonów raz, łatwiej byłoby po prostu wypełnić tę właściwość zawartości równoważnymi elementami podrzędnymi w znacznikach bezpośrednich. Spowoduje to całkowite obejście mechanizmów stylu i szablonu.
Inne składnie włączone przez rozszerzenia znaczników, które zwracają obiekt, są również możliwe dla stylów i szablonów. Dwa takie rozszerzenia, które mają możliwe scenariusze, to TemplateBinding i Binding.
Zobacz też
.NET Desktop feedback