Aracılığıyla paylaş


DynamicResource İşaretleme Uzantısı

Bu değeri tanımlı bir kaynağa başvuru olarak erteleyerek herhangi bir XAML özellik özniteliği için bir değer sağlar. Bu kaynak için arama davranışı, çalışma zamanı aramasına benzer.

XAML Öznitelik Kullanımı

<object property="{DynamicResource key}" ... />

XAML Özellik Öğesi Kullanımı

<object>
  <object.property>
    <DynamicResource ResourceKey="key" ... />
  </object.property>
</object>

XAML Değerleri

Değer Açıklama
key İstenen kaynağın anahtarı. Bu anahtar, bir kaynak işaretlemede oluşturulmuşsa x:Key Yönergesi tarafından, kaynak kodda oluşturulmuşsa key çağrılırken ResourceDictionary.Add parametresi olarak atandı.

Açıklamalar

bir DynamicResource ilk derleme sırasında geçici bir ifade oluşturur ve böylece bir nesne oluşturmak için istenen kaynak değeri gerçekten gerekli olana kadar kaynaklar için aramayı erteler. Bu, XAML sayfası yüklendikten sonra olabilir. Anahtar araması, geçerli sayfa kapsamından başlayarak tüm etkin kaynak sözlüklerinde gerçekleştirilir ve bulunan kaynak değeri, derlemede yer alan yer tutucu ifadesinin yerine geçirilir.

Önemli

Bağımlılık özelliği önceliği açısından, DynamicResource ifadesi dinamik kaynak başvurusunun uygulandığı konuma eşdeğerdir. Daha önce yerel değer olarak bir DynamicResource ifadesi olan bir özellik için yerel bir değer ayarlarsanız, DynamicResource tamamen kaldırılır. Ayrıntılar için bkz. Bağımlılık Özellik Değeri Önceliği.

Bazı kaynak erişim senaryoları, DynamicResourceaksine için özellikle uygundur. ve DynamicResourcegöreli değerleri ve performans etkileri hakkında bir tartışma için bkz. StaticResource.

Belirtilen ResourceKey, sayfanızda, uygulamanızda, kullanılabilir denetim temalarında ve dış kaynaklarda veya sistem kaynaklarında bir düzeyde x:Key Yönergesi tarafından belirlenen mevcut bir kaynağa karşılık gelir ve kaynak araması bu sırada gerçekleşir. Statik ve dinamik kaynaklar için kaynak arama hakkında daha fazla bilgi için bkz. XAML Kaynakları.

Kaynak anahtarı, XamlName Grammariçinde tanımlanan herhangi bir dize olabilir. Kaynak anahtarı, Typegibi diğer nesne türleri de olabilir. Type anahtarı, denetimlerin temalara göre nasıl stillendirilebileceğinin temelidir. Daha fazla bilgi için bkz. Denetim Oluşturmaya Genel Bakış.

FindResourcegibi kaynak değerlerinin aranması için API'ler, DynamicResourcetarafından kullanılan kaynak arama mantığını izler.

Kaynağa başvurmanın alternatif bildirimci yolu, StaticResource Biçimlendirme Uzantısı olarakşeklindedir.

Öznitelik söz dizimi, bu işaretleme uzantısıyla kullanılan en yaygın söz dizimidir. DynamicResource tanımlayıcı dizesinden sonra sağlanan dize belirteci, temel alınan ResourceKey uzantı sınıfının DynamicResourceExtension değeri olarak atanır.

DynamicResource nesne öğesi söz diziminde kullanılabilir. Bu durumda, ResourceKey özelliğinin değerini belirtmek gerekir.

DynamicResource, ResourceKey özelliğini özellik=değer çifti olarak belirten ayrıntılı bir nitelik kullanımında da kullanılabilir.

<object property="{DynamicResource ResourceKey=key}" ... />

Ayrıntılı kullanım, birden fazla ayarlanabilir özelliğe sahip uzantılarda veya bazı özellikler opsiyonel olduğunda genellikle yararlıdır. DynamicResource'nin yalnızca bir zorunlu ayarlanabilir özelliği olduğundan, bu ayrıntılı kullanım tipik değildir.

WPF XAML işlemci uygulamasında, bu işaretleme uzantısının işlenmesi DynamicResourceExtension sınıfı tarafından tanımlanır.

DynamicResource bir işaretleme uzantısıdır. İşaretleme uzantıları, genellikle öznitelik değerlerinin sabit değerler ya da işleyici isimlerinden farklı olması gerektiğinde uygulanır ve bu gereksinim, belirli türlere veya özelliklere tür dönüştürücü yerleştirmekten daha geniş kapsamlıdır. XAML'deki tüm işaretleme uzantıları öznitelik söz diziminde { ve } karakterlerini kullanır. Bu, bir XAML işlemcisinin işaretleme uzantısının özniteliği işlemesi gerektiğini tanıdığı kuraldır. Daha fazla bilgi için bkz. biçimlendirme uzantıları ve WPF XAML.

Ayrıca bakınız