2009-02-23 21 views
30

Tôi đang tạo động một hình ảnh thông qua mã phía sau trong Silverlight và dường như nguồn hình ảnh không chấp nhận một chuỗi hoặc Uri làm đường dẫn.Làm thế nào để bạn đặt Image.Source trong Silverlight (Mã phía sau)

Tôi làm cách nào để đặt nguồn?

+0

này đã cho tôi một chút thời gian để tìm ra quá. Câu trả lời của Guantam trông giống như những gì tôi đã sử dụng. – BenMaddox

+0

Tôi đã phải thay đổi nó một chút mặc dù, nó làm việc mà không bao gồm không gian tên trong đường dẫn – Drahcir

Trả lời

53

Bạn có nghĩa là nó sẽ không chấp nhận chuỗi dưới dạng nguồn?

Bạn không thể thực hiện việc này?

Hoặc bạn đang nói hình ảnh của mình có trong bộ nhớ và bạn không biết cách tham chiếu nó?

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

Không chấp nhận chuỗi tôi có nghĩa là ví dụ: MyImage.Source = "/MyNameSpace;images/someimage.png" như trong asp.net – Drahcir

+0

ah, cần thiết đó! – Michel

+4

dự án của tôi cần phải nối thêm "thành phần": this.MyImage.Source = new BitmapImage (new Uri ("/ MyNameSpace; components/images/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

không cần phải đi giao thức HTTP. chỉ cần sử dụng tài nguyên cục bộ là tốt. – Raptor

1

tôi cần phải thay thế sau để có được công việc giải pháp:

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

MyNameSpace không làm việc cho tôi, nhưng ExecutingAssemblyName đã làm, vì vậy:

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")) 
Các vấn đề liên quan