तक पहुँचना मैं प्रोग्राम के मैं XAML में होगा के रूप में ज्यादा स्थिर संसाधनों का उपयोग करना चाहते हैं:प्रोग्राम के एक सिल्वरलाइट स्टेटिक संसाधन
<TextBlock Text="{Binding Source={StaticResource My.Text.Key}}" />
यह काम करता है कि मेरे स्थिर संसाधन TextBlock पर परिभाषित किया गया है, कुछ माता पिता तत्व (जैसे UserControl) या यहां तक कि आवेदन भी। ऐसा लगता है कि या तो स्टेटिक रिसोर्स बाध्यकारी अभिव्यक्ति जानता है कि तत्व पेड़ कैसे चलना है, या तत्व स्वयं ही करता है। मैं प्रोग्राम के एक ही बात करना चाहते हैं:
<UserControl x:Class="MyCustomControl" ...>
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources.xaml"/> <!-- Sets 'My.Text.Key' to System.String 'Hello, World!' -->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
</UserControl>
public partial class MyCustomControl
{
public MyCustomControl()
{
InitializeComponent();
string myCustomValue = this.Resources[MyCustomValue] as string; // myCustomValue becomes null!
}
}
यहां तक कि इस साधारण परीक्षण में, मेरे संसाधन प्रोग्राम के पहुँचा जा नहीं कर पा रहे। और यह वास्तव में क्या करने की कोशिश कर रहा था इसका सरलीकृत संस्करण है: किसी तत्व के माध्यम से एक स्थिर संसाधन ढूंढें जिसमें मेरे पास एक कस्टम डायनामिक प्रॉपर्टी है (उदा। UiElement.Resources [key])।
जब मैंने अपनी कुंजी ("My.Test.Key" के बजाय "MyTestKey" को "डॉट्स" लिया, तो मैं अपने संसाधनों को प्रोग्रामेटिक रूप से देखना शुरू कर सकता था। क्या XAML या कोड में संसाधनों का नामकरण करने का कोई नियम है -इंडिंड? – Trinition