2012-11-13 3 views
3

동일한 DLL의 ResourceDictionary 리소스를 어떻게 사용할 수 있습니까?Windows 8의 DLL에서 ResourceDictionary 사용

기본적으로 Page 클래스에서 파생 된 모든 클래스로 UI 라이브러리를 만들려고합니다. 동일한 DLL에 모든 사용자 인터페이스 페이지를 유지하고 싶습니다.

문제를 보려면 VS2012에서 Windows 8 라이브러리 프로젝트를 만든 다음 Item Detailed Page를 추가하십시오. 이제 작성한 페이지를 편집기에서 열면 "리소스"LayoutRootStyle "을 (를) 확인할 수 없습니다"와 같은 오류가 발생합니다.

답변

0

이것은 Xaml 디자이너 오류 일 뿐이므로 프로젝트가 작성되거나 실행되는 것을 막지는 못합니다.
필요한 모든 것은 ResourceDictonary가 기본 응용 프로그램 App.xaml (예 : <ResourceDictionary Source="/<myLibraryName>/Common/StandardStyles.xaml"/>을 사용하거나 동적 사전을 추가하는 라이브러리에서 Init 메서드를 호출하여 작성)을 통해 참조해야한다는 것입니다.
Xaml 디자이너의 오류에 대한 빠른 해결 방법은 라이브러리에 App.xaml/App.xaml.cs를 복사하는 것입니다 (단, 런타임시 주 응용 프로그램은 응용 프로그램부터 필요한 ResourceDictionary에 대한 참조를 필요로합니다. 라이브러리의 .xaml은 사용되지 않습니다).
또 다른 확실성은 각 페이지의 ResourceDictionary에 refrence를 추가하는 것입니다.하지만 각 페이지에 대한 사전 인스턴스를 생성하므로 훨씬 더 많은 비용이들 것입니다.