Aracılığıyla paylaş


Satır İçi Stil ve Şablonları

Windows Presentation Foundation (WPF), kaynaklardaki bir öğenin görsel görünümünü tanımlamanın bir yolu olarak nesneleri ve şablon nesnelerini (FrameworkTemplatealt sınıflar) sağlarStyle, böylece bunlar birden çok kez kullanılabilir. Bu nedenle, XAML'de türleri Style alan ve FrameworkTemplate neredeyse her zaman satır içinde yenilerini tanımlamak yerine var olan stil ve şablonlara kaynak başvuruları oluşturan öznitelikler.

Satır içi Stillerin ve Şablonların Sınırlamaları

Genişletilebilir Uygulama Biçimlendirme Dili'nde (XAML), stil ve şablon özellikleri teknik olarak iki yoldan biriyle ayarlanabilir. Kaynak içinde tanımlanmış bir stile başvurmak için öznitelik sözdizimini kullanabilirsiniz, örneğin <myResourceKey}" .../> nesnesiStyle="{StaticResource. İsterseniz, satır içi stil tanımlamak için özellik öğesi söz dizimlerini de kullanabilirsiniz, örneğin:

<nesne >

<nesne .Style>

< Style .../>

</nesne .Style>

</nesne >

Öznitelik kullanımı çok daha yaygındır. Satır içinde tanımlanan ve kaynaklarda tanımlanmayan bir stilin kapsamı yalnızca içeren öğe olarak belirlenmiştir ve kaynak anahtarı olmadığından bu kadar kolay bir şekilde yeniden kullanılamaz. Genel olarak, kaynak tanımlı bir stil daha çok yönlü ve kullanışlıdır ve koddaki program mantığını işaretlemedeki tasarımdan ayırmaya yönelik genel Windows Presentation Foundation (WPF) programlama modeli ilkesiyle devam eder.

Yalnızca bu stili veya şablonu o konumda kullanmayı amaçlasanız bile, genellikle satır içi stil veya şablon ayarlamak için bir neden yoktur. Stil veya şablon alabilen öğelerin çoğu, içerik özelliğini ve con çadır modu l'ı da destekler. Yalnızca bir kez stil veya şablon oluşturma yoluyla oluşturduğunuz mantıksal ağacı kullanıyorsanız, doğrudan işaretlemede bu içerik özelliğini eşdeğer alt öğelerle doldurmanız daha da kolay olabilir. Bu, stil ve şablon mekanizmalarını tamamen atlar.

Nesne döndüren işaretleme uzantıları tarafından etkinleştirilen diğer söz dizimleri, stiller ve şablonlar için de mümkündür. Olası senaryolara sahip iki uzantı arasında TemplateBinding ve Bindingbulunur.

Ayrıca bkz.