2014-09-07 18 views
12

Gần đây tôi đã tự dạy WinForms, nhưng giờ đây tôi đã chuyển sang WPF hiện đại hơn, SOOO tốt hơn nhiều!WPF - Nhập ảnh dưới dạng tài nguyên

Điều duy nhất tôi đang bối rối tại thời điểm này là sử dụng hình ảnh. Bây giờ trong WinForms bạn đã nhập nó làm tài nguyên và hình ảnh sẽ vẫn hoạt động khi được biên dịch trong thư mục/bin/Debug.

Tôi không thể tìm ra cách làm việc này trong WPF, khi tôi chạy ứng dụng mà ảnh không tải, vì ảnh được lưu trong /Projects/AppName/images/ và ứng dụng được biên dịch thành /Projects/AppName/bin/Debug khi tôi chạy nó Chế độ kiểm tra sửa lỗi.

Tôi chỉ cần tạo bản sao thư mục Hình ảnh của mình và đặt nó vào nơi ứng dụng được biên soạn? Hoặc là có một cách khác. Đây là mã của tôi hiển thị hình ảnh của tôi:

<Image Width="300"> 
    <Image.Source> 
     <BitmapImage DecodePixelWidth="300" UriSource="/images/jamsnaps-dark.png" /> 
    </Image.Source> 
</Image> 

Trả lời

23
  • Tạo một thư mục (ví dụ images) trong Visual Studio dự án của bạn.
  • Thêm các tập tin hình ảnh (s) đến thư mục đó.
  • Đặt họ Build Action-Resource (trong cửa sổ Properties, xem hình ảnh thứ hai trong this answer).

Sau đó viết UriSource tài sản như bạn đã làm:

UriSource="/images/jamsnaps-dark.png" 

URI đó có hiệu quả là Resource File Pack URI, trong đó tiền tố được tự động thêm vào bởi WPF.

+0

Cảm ơn, hoạt động tuyệt vời –

1

Hai lựa chọn:

1) Đi ra ngoài từ bin/Debug và trong thư mục ứng dụng của bạn bằng cách ../../ và sau đó đến hình ảnh của bạn.

<Image> 
     <Image.Source> 
      <BitmapImage UriSource="../../images/jamsnaps-dark.png" /> 
     </Image.Source> 
    </Image> 

2) Biên dịch hình ảnh của bạn thành Nội dung từ trình đơn ngữ cảnh trên tệp hình ảnh, sau đó biên soạn chúng sẽ được đặt vào trạng thái gỡ lỗi. Tôi không nhớ nếu bạn cũng cần phải nói với họ để sao chép địa phương cũng trong tài sản (tôi không ở gần máy tính tại thời điểm này vì vậy tôi không thể kiểm tra.

+0

Chúc mừng, cũng đã hoạt động nhưng những câu trả lời khác được giải thích tốt hơn một chút :) –

+0

Anh ấy đã làm một việc khác. đó cũng là tốt. Điểm này là để biết vị trí bạn đang định vị tệp của mình, chúng có thể được tuân thủ dưới dạng tài nguyên/nội dung hay chỉ được đặt trong giải pháp của bạn. tôi không nhớ những ưu và khuyết điểm của từng phương pháp .. –

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