StaticResource Biçimlendirme Uzantısı
Önceden tanımlanmış bir kaynağa bir başvuru arayarak herhangi bir XAML özellik özniteliği için bir değer sağlar. Bu kaynak için arama davranışı, daha önce geçerli XAML sayfasının ve diğer uygulama kaynaklarının biçimlendirmesine göre yüklenen kaynakları arayan yükleme zamanı aramasına benzer ve çalışma zamanı nesnelerinde Özellik değeri olarak bu kaynak değerini oluşturacaktır.
XAML Öznitelik Kullanımı
<object property="{StaticResource key}" ... />
XAML Nesne Öğesi Kullanımı
<object>
<object.property>
<StaticResource ResourceKey="key" ... />
</object.property>
</object>
XAML Değerleri
key |
İstenen kaynak için anahtar. Bu anahtar başlangıçta, biçimlendirme içinde bir kaynak oluşturulduysa veya ResourceDictionary.Add kaynak kodda oluşturulduysa çağrılırken parametre olarak sağlanmışsa, x:Key yönergesi tarafından atanır. |
Açıklamalar
Önemli
StaticResource, Xaml dosyası içinde Sözcüksel olarak tanımlanmış bir kaynağa ileri bir başvuru yapmayı denememelidir. Bunun denenmemesi desteklenmez, ancak böyle bir başvurunun başarısız olmasına rağmen, ileri başvurunun denenmemesi, bir yükü temsil eden iç karma tabloları arandığı zaman bir yükleme süresi performans cezası olur ResourceDictionary . En iyi sonuçları elde etmek için, kaynak sözlüklerinizin, ileri başvuruların önlenebilir şekilde ayarlanmasını sağlayabilirsiniz. İleri başvuruyu önlememeniz durumunda, bunun yerine DynamicResource Biçimlendirme Uzantısı kullanın.
Belirtilen ResourceKey var olan bir kaynağa karşılık gelmelidir; sayfanızda, uygulamanızda, kullanılabilir denetim temalarından ve dış kaynaklarda veya Sistem kaynaklarında bir ResourceKey ile tanımlanır. Kaynak arama bu sırada oluşur. Statik ve dinamik kaynaklar için kaynak arama davranışı hakkında daha fazla bilgi için bkz. xaml kaynakları.
Kaynak anahtarı XamlName dilbilgisindetanımlanmış herhangi bir dize olabilir. Kaynak anahtarı, gibi diğer nesne türleri de olabilir Type . Bir Type anahtar, bir örtülü stil anahtarı aracılığıyla denetimlerin temalar tarafından nasıl Stillenebilir. Daha fazla bilgi için bkz. Denetim yazma genel bakış.
Bir kaynağa başvuran alternatif bildirime dayalı yol, DynamicResource Biçimlendirme Uzantısıolarak belirlenir.
Öznitelik sözdizimi, bu işaretleme uzantısı ile kullanılan en yaygın sözdizimidir. Tanımlayıcı dizeden sonra belirtilen dize belirteci, StaticResourceResourceKey temel uzantı sınıfının değeri olarak atanır StaticResourceExtension .
StaticResource nesne öğesi söz dizimi içinde kullanılabilir. Bu durumda, özelliğinin değerini belirtmek ResourceKey gereklidir.
StaticResource , özelliği ResourceKey özellik = değer çifti olarak belirten ayrıntılı bir öznitelik kullanımında de kullanılabilir:
<object property="{StaticResource ResourceKey=key}" ... />
Ayrıntılı kullanım, genellikle birden fazla ayarlanabilir özelliğe sahip uzantılar için veya bazı özellikler isteğe bağlıysa yararlıdır. , StaticResource Gereken tek bir ayarlanabilir özelliğe sahip olduğundan, bu ayrıntılı kullanım tipik değildir.
WPF XAML işlemci uygulamasında, bu biçimlendirme uzantısının işlenmesi sınıfı tarafından tanımlanır StaticResourceExtension .
StaticResource bir biçimlendirme uzantısıdır. Biçimlendirme uzantıları, genellikle öznitelik değerlerinin değişmez değerler veya işleyici isimleri dışına çıkma gereksinimi olduğunda ve bu gereksinim, belirli türler veya özellikler üzerine tür dönüştürücülerini koymaktan daha genel olduğunda uygulanır. XAML 'deki tüm biçimlendirme uzantıları öznitelik sözdiziminde {ve} karakterlerini kullanır. Bu, XAML işlemcisinin bir biçimlendirme uzantısının özniteliği işlemesi gerektiğini tanıdığı bir kuraldır. Daha fazla bilgi için bkz. Biçimlendirme uzantıları ve WPF XAML.