2010-01-30 16 views
5

पर वैश्विक पहुंच के लिए सिल्वरलाइट एप्लिकेशन संसाधन मेरे पास एक सिंगलटन है जो एक बार हिट करेगा उपयोगकर्ता प्रोफ़ाइल जानकारी लोड करेगा, मैं इसे अपने एसएल 3 एप्लिकेशन में एक एप्लीकेशन लेवल संसाधन बनाना चाहता हूं ताकि एप्लिकेशन के तत्व इसे बाध्य कर सकें।सिंगलटन

instantiaion मेरे कोड संस्करण है एक सरल

UserProfile x = UserProfile.GetInstance(); 

मैं App.xaml फ़ाइल में और WPF में XAML में ऐसा करने में सक्षम होना चाहते हम ObjectDataProvider तो मैं

की तरह कुछ व्यक्त कर सकते हैं
<ObjectDataProvider MethodName="GetInstance" 
ObjectType="{x:Type local:UserProfile}" x:Key="CurrentUserProfile"/> 

मैं एसएल 3 में इसके लिए सही कार्यान्वयन खोजने के लिए संघर्ष कर रहा हूं।

उत्तर

3

आप बाहर बिंदु के रूप में सिल्वरलाइट ObjectDataProvider जरूरत नहीं है। यदि आपको किसी सुविधा की आवश्यकता है तो यह आलसी तत्कालता प्रदान करता है, आपको इसे संभालने के लिए स्वयं की एक कक्षा बनाने की आवश्यकता होगी। आप वास्तव में इन सुविधाओं की जरूरत नहीं है तो बस App.Resources को UserProfile का एक उदाहरण जोड़ने पर शुरू: -

private void Application_Startup(object sender, StartupEventArgs e) 
{ 
    Resources.Add("CurrentUserProfile", UserProfile.GetInstance()); 
    RootVisual = new MainPage(); 
} 
+0

मैं वास्तव में शुद्ध xaml में इसे पूरा करने की उम्मीद कर रहा था, लेकिन अगर मुझे जल्द ही किसी से xaml आधारित समाधान नहीं मिलता है तो मैं आपको चेक मार्क दूंगा ... धन्यवाद। – keithwarren7

0

Silverlight has no ObjectDataProvider

कहा कि, आप अपने सिल्वरलाइट वस्तु के DataContext उपयोग कर सकते हैं .....

Application.DataContext = UserProfile.GetInstance(); 
+1

क्या होगा यदि आप तो के रूप में करने का विरोध किया UserControls आदि कुछ असली अनुप्रयोग डेटा के लिए पर DataContext सौंपने होंगे होता है परिधीय उपयोगकर्ता जानकारी? – AnthonyWJones

संबंधित मुद्दे