Tôi có một ứng dụng sử dụng một tập hợp thư viện riêng cho các tài nguyên (nhưng không phải là một assembly chỉ có tài nguyên không có mã), và tôi muốn bao gồm một phông chữ tùy chỉnh trong thư viện.Trong WPF, làm thế nào để tôi tham khảo một phông chữ trong một thư viện tài nguyên trong mã phía sau?
Tôi có thể lấy phông chữ, là Open Type Font
, để tải nếu tôi thêm tệp .otf làm tài nguyên cho dự án cho assembly thực thi (chứ không phải dự án thư viện tài nguyên), với thuộc tính được đặt làm xây dựng hành động = 'Resource' và Sao chép vào Output = 'không Sao chép', bằng cách sử dụng đoạn mã sau:
FontFamily font = new FontFamily(new Uri("pack://application:,,,/"),
"./Resources/#CustomFont")); // Resources is a subfolder
Khi tôi cố gắng thêm font cho dự án thư viện tài nguyên, tuy nhiên, phông chữ không tải . Tôi đã thử sử dụng đoạn mã sau để tải nó (cũng lưu ý: Tôi không có nhiều kinh nghiệm với gói URI):
FontFamily font = new FontFamily(new Uri("pack://application:,,,/MyLibrary"),
"./Resources/#CustomFont"));
// there is a Resources subfolder in my library as well
// not sure about whether I need the .
Thư viện này hoạt động với các tài nguyên khác, chẳng hạn như hình ảnh.
Tôi cũng đã thử một loạt các hoán vị khác cho URI mà không thành công (nó cũng không ném ngoại lệ, chỉ hiển thị với phông chữ mặc định, không chắc đây có phải là vấn đề riêng) hay không.
Tôi đã làm việc từ Packaging Fonts with Applications trên MSDN, có ví dụ về tạo thư viện tài nguyên phông chữ, nhưng không có ví dụ nào sử dụng mã phía sau (tôi buộc phải sử dụng mã phía sau cho điều này).
Bất kỳ ý tưởng nào về những gì tôi cần làm? Tôi có theo dõi không?
này không làm việc cho tôi, điều này gợi ý tôi có một số khác vấn đề vì nó làm việc cho bạn. – Pysul
Cảm ơn, đối với tôi nó đã làm việc ... đã cứu tôi rất nhiều thử thách và lỗi! – yvesonline
Tôi có thể xác nhận nó hoạt động hoàn hảo và trước khi tôi thử quá nhiều kết hợp tải mà không thành công !!! Tôi nghĩ rằng một truy cập tương đối với các nguồn lực từ bên trong dll sẽ là đủ nhưng dường như thêm tên lắp ráp là cần thiết ngay cả khi phông chữ nên được truy cập từ cùng một hội đồng! – too