2012-08-14 29 views
41

Tôi đang có một cửa sổ WPF, với hình nền của một tệp trong hệ thống cục bộ của tôi. Vì vậy, tệp XAML trông giống như sau:WPF ném ngoại lệ "Không thể định vị tài nguyên" khi tải hình ảnh

<Window.Background> 
    <ImageBrush ImageSource="/MYASSEMBLY;component/Resources/MyPic.png"/> 
</Window.Background> 

Trong trình thiết kế XAML nó thực sự hiển thị hình nền này, vì vậy hình ảnh tồn tại trong thư mục MYASSEMBLY \ Resources. Tuy nhiên, trong cuộc gọi hàm InitializeComponent() khi tôi khởi chạy ứng dụng, nó sẽ ném ngoại lệ

Không thể tìm nguồn tài nguyên 'tài nguyên/mypic.png'.

Vì vậy, tôi hoàn toàn mất ngay bây giờ. Các thư mục khác nhau giữa thiết kế và thời gian chạy sao cho không tồn tại trong thời gian chạy?

+0

Bạn đã đặt tham chiếu đến dll chưa? –

+0

Chế độ xây dựng của hình ảnh? (Thấy những thứ trong nhà thiết kế nói * không có gì *) –

+0

Cảm ơn bạn @ H.B. , như tôi đã nhận xét về câu trả lời, tôi thậm chí còn không đưa hình ảnh vào dự án. Tôi đoán các nhà thiết kế và thời gian chạy hành xử khác nhau là một chút bối rối cho những người đàn ông tươi như tôi. – tete

Trả lời

105

Trong các giải pháp khai thác, thiết lập hình ảnh "Xây dựng hành động" tài sản để "Resource", sau đó sạch giải pháp và xây dựng lại nó.

+0

Cảm ơn bạn đã giải quyết được vấn đề. Tôi nghĩ rằng nó sẽ tải hình ảnh trong thời gian chạy vì vậy tôi thậm chí không bao gồm hình ảnh vào dự án. – tete

+15

và có, đừng quên làm sạch và xây dựng lại .. như Buzz đã nêu .. nó rất dễ dàng để bỏ lỡ mà .. Tôi đã làm :) – invalidusername

+1

hehe, hầu hết chúng ta, bao gồm cả op, đã không thực sự có tài sản đó vấn đề, nhưng chúng tôi đã không mong đợi rằng nó là cần thiết để có hình ảnh trong thám hiểm giải pháp nếu nó đã có trong thư mục vật lý. Thật là tuyệt khi nói rằng nó được yêu cầu trong nhà thám hiểm. Cảm ơn! –

0

WPF ném “Không thể định vị tài nguyên” ngoại lệ, sự cố này xuất hiện khi tôi đang thực hiện bản địa hóa bằng công cụ locbaml, khi tôi biên dịch tôi đã nhận được lỗi này. Có rất nhiều tài liệu tham khảo từ điển hợp nhất tài nguyên Vì vậy, việc thiết lập thuộc tính Build Action của tệp tài nguyên xaml thành "Resource" từ "Page" đã giải quyết vấn đề.

Các vấn đề liên quan