2009-02-23 8 views
30

मैं गतिशील रूप से सिल्वरलाइट में कोड-बैक के माध्यम से एक छवि उत्पन्न कर रहा हूं और स्पष्ट रूप से छवि स्रोत पथ के रूप में स्ट्रिंग या उरी को स्वीकार नहीं करता है।आप सिल्वरलाइट में छवि स्रोत कैसे सेट करते हैं (कोड पीछे)

मैं स्रोत कैसे सेट कर सकता हूं?

+0

यह मुझे पता लगाने के लिए थोड़ी देर लग गई। गुआंतम का जवाब ऐसा लगता है जो मैंने उपयोग किया था। – BenMaddox

+0

मुझे इसे थोड़ा सा बदलना पड़ा, हालांकि यह – Drahcir

उत्तर

53

आपका मतलब यह है कि यह स्रोत के रूप में स्ट्रिंग को स्वीकार नहीं करेगा?

क्या आप ऐसा करने में सक्षम नहीं हैं?

या आप कह रहे हैं कि आपकी छवि स्मृति में है और आप इसे संदर्भित करने के बारे में नहीं जानते हैं?

this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;images/someimage.png", UriKind.Relative)); 
+1

पथ में नेमस्पेस को शामिल किए बिना काम करता था, उदाहरण के लिए मैं स्ट्रिंग स्वीकार नहीं करता हूं: MyImage.Source = "/MyNameSpace;images/someimage.png" asp.net – Drahcir

+0

आह में, जरूरी है कि! – Michel

+4

मेरी परियोजना को "घटकों" को जोड़ने की जरूरत है: यह। MyImage.Source = नया बिटमैप छवि (नया उरी ("/ MyNameSpace; घटक/छवियों/someimage.png", UriKind.Relative)); – Raptor

6
// create a new image 
Image image = new Image(); 

// better to keep this in a global config singleton 
string hostName = Application.Current.Host.Source.Host;     
if (Application.Current.Host.Source.Port != 80) 
    hostName += ":" + Application.Current.Host.Source.Port; 

// set the image source 
image.Source = new BitmapImage(new Uri("http://" + hostName + "/image111.jpg", UriKind.Absolute)); 
+0

HTTP प्रोटोकॉल के लिए जाने की कोई आवश्यकता नहीं है। बस स्थानीय संसाधन का उपयोग ठीक है। – Raptor

1

मैं समाधान काम पाने के लिए निम्नलिखित को बदलने के लिए की जरूरत:

this.MyImage.Source = new BitmapImage(new Uri("/MyNameSpace;components/images/someimage.png", UriKind.Relative)); 

MyNamespace मेरे लिए काम नहीं किया था, लेकिन ExecutingAssemblyName था, इसलिए:

Dim tmp As String() = Assembly.GetExecutingAssembly.FullName.Split(","c) 
Dim path As String = "/" & tmp(0) & ";component/images/" 
MyImage.Source = new BitmapImage(new Uri(path & "someImage.png")) 
संबंधित मुद्दे