2011-01-24 22 views
6

Bir Silverlight uygulamasında, kaynakları, App.xaml dosyasında tanımlayabilir ve bu kaynakları açıkça birleştirmek zorunda kalmadan, herhangi bir XAML belgesinden bunlara erişebiliriz.Bir sınıf kitaplığındaki global kaynaklar

Sınıf kütüphanesi için eşdeğer bir çözüm var mı? Sınıf kitaplığında ayrı bir kaynak sözlüğü oluşturdum, ancak kullanmadan önce onu aşağıdaki gibi birleştirmem gerekiyor.

<UserControl.Resources> 
<ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="MyResources.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 
</UserControl.Resources> 

Bundan kaçınmanın bir yolu var mı? Küresel olarak kullanılan kaynaklar için her XAML belgesinde bunu yapmak oldukça sıkıcıdır.

cevap

1

Aynı soruyu sormak üzereydim. Ne yazık ki, anlattığın şey, neyi başarabildiğime oldukça yakın. Teorik olarak, bunları kütüphanenin temaları \ generic.xaml dosyasına koyabiliyormuşsunuz gibi görünüyor, ama bu işi yapamamıştım - muhtemelen sadece bir şey yapmıyorum. Birisi daha iyi bana gelin

<UserControl.Resources> 
    <commonui:CommonStringsPublic x:Key="commonStrings" /> 
    <ResourceDictionary Source="/Alanta.Client.UI.Common;component/CommonResources.xaml" x:Key="commonResources" /> 
</UserControl.Resources> 

Ben isterdim: yapabileceğimi oldum iyi ne yaptığınızı, yani MergedDictionaries sözdizimi bırakmak sadece biraz daha kısa türüdür çözüm :-).

+0

Sanırım bu kadar iyi .. Teşekkürler! Bu arada, aynı zamanda diğer ortak kodları (yani, xmlns yönergeleri, vb.) Ekleyen kullanıcı denetimleri oluşturmak için bir görsel stüdyo şablonu oluşturdum. –

İlgili konular