Jak można uniknąć błędów projektanta Visual Studio, gdy zasób WPF jest zdefiniowany w oddzielnym projekcie?Unikanie błędów projektanta Visual Studio, gdy zasób WPF jest zdefiniowany w oddzielnym projekcie
Mam trzy projekty w złożonej aplikacji WPF: główna aplikacja, biblioteka "infrastruktury" i biblioteka "modułowa". Główna aplikacja odwołuje się do innych projektów poprzez ich wyjściowe biblioteki DLL (projekty nie są połączone razem w jednym rozwiązaniu).
Definiuję skórkę (niektóre pędzle i style w ResourceDictionary
) w bibliotece "infrastruktury". Chciałbym, aby główna aplikacja wybrała skórkę i udostępniła ją całej aplikacji (poprzez MergedDictionaries
w App.xaml).
W moim module chcę użyć zasobów zdefiniowanych w skórze, którą ładuje główna aplikacja. Jeśli odwołuję się do zasobu tak, jakby był dostępny lokalnie w ten sposób:
Background={StaticResource MainBackgroundBrush}
prawie wszystko działa zgodnie z oczekiwaniami. Wyjątkiem jest to, że projektant Visual Studio jest zdezorientowany i mówi mi, że "StaticResource reference" MainBackgroundBrush "nie został znaleziony". To skutecznie uniemożliwia mi korzystanie z projektanta.
Co mogę zrobić, aby zdefiniować "skórkę" ResourceDictionary
w projekcie, wskazać tę skórkę w głównej aplikacji, a następnie użyć jej zasobów w projekcie modułu?
Chociaż to nie jest technicznie odpowiedź na twoje pytanie, Expression Blend 2 nie ma problemów z podwójnym wyszukiwaniem kierunkowym i renderuje się tylko znaleźć w tych konkretnych przypadkach w moim doświadczeniu. – scwagner
W VS2010 Beta 1 nadal można używać projektanta, jeśli nie może on znaleźć zasobu. Daje ostrzeżenie, a następnie wydaje się ignorować atrybut. –