Tôi có một thư viện lớp Silverlight (không phải là một ứng dụng cấp cao nhất) với một số điều khiển người dùng được chia sẻ bởi các ứng dụng Silverlight khác nhau. Tôi đã đi qua và kéo ra một số phong cách và bàn chải cho các điều khiển và đặt chúng trong một tập tin XAML riêng biệt như một từ điển tài nguyên mà tôi mang vào mỗi điều khiển như một từ điển tài nguyên hợp nhất. Hiện tại, công việc này rất tuyệt vời trong các ứng dụng cấp cao nhất của tôi, miễn là tôi giữ từ điển tài nguyên đó dưới dạng hành động xây dựng "Tài nguyên" và tham chiếu nó theo cách đó từ các điều khiển. Điều tôi thực sự muốn làm là có tệp XAML từ điển tài nguyên này dưới dạng hành động xây dựng "Nội dung" được sao chép vào XAP cấp cao nhất, để XAML có thể được hoán đổi trong tệp XAP mà không cần phải xây dựng lại dự án. Bất cứ khi nào tôi cố gắng thiết lập, tệp XAML sẽ được sao chép vào thùng đầu ra cho dự án thư viện lớp, nhưng nó sẽ không bao giờ được sao chép vào thư mục đầu ra của dự án ứng dụng Silverlight cấp cao nhất của tôi hoặc vào tệp XAP cuối cùng.Bao bì ResourceDictionary cho Silverlight Class Library
Cách tốt nhất để thực hiện việc này là gì? Từ điển tài nguyên XAML về bản chất là một sự phụ thuộc của thư viện lớp và thư viện lớp (của các điều khiển người dùng) là một sự phụ thuộc của ứng dụng Silverlight cấp cao nhất.
Điều này có vẻ như là cách tiếp cận tốt nhất có thể, chỉ là loại gây phiền nhiễu để có cả một tham chiếu đến một thư viện lớp Silverlight và một liên kết đến một trong các tập tin đầu ra của nó trong ứng dụng Silverlight. Đoán rằng đó là cách duy nhất của nó nhận được trong XAP mà không có một số xây dựng lại XAP đóng gói hackery. –
Sau khi thử nghiệm một số thứ khác, phương pháp này hoạt động tốt trong thời gian chạy nhưng không xuất hiện là "Có thể kết hợp". Khi mở ứng dụng Silverlight cấp cao nhất trong Expression Blend, tôi nhận được toàn bộ các lỗi ... có vẻ như Blend không thể theo các liên kết trong dự án tới ResourceDictionary cho thư viện lớp điều khiển. Bất kỳ ý tưởng về làm thế nào để có được Blend để chơi tốt? Giải pháp này sẽ không cắt nó nếu tôi không bao giờ có thể mở dự án đúng cách trong Blend. –