2011-10-07 3 views
2

기본적으로 내 모든 XAML 리소스를 외부 어셈블리에 보관하려고합니다 (내 스타일의 경우). 내 응용 프로그램에이 외부 어셈블리에 대한 참조가 있습니다.StaticResource 리소스가 외부 어셈블리에 있습니까?

위성 어셈블리 또는 그 외의 요소와 관련이 있습니까? 또는 내 응용 프로그램이 컴파일 오류없이 StaticResource 태그를 계속 가질 수 있도록 이러한 스타일에 액세스하려면 어떻게해야합니까?

답변

4

다른 어셈블리의 ResourceDictionary에 스타일을 유지한다고 가정하면 현재 자원 (Window 또는 UserControl 등)에 상관없이 현재 리소스와 병합하면됩니다.

우리가

  • 다른 어셈블리 'external.assembly.name'
  • 라는 것을 가정하면 ResourceDictionary 네임 스페이스 리소스 아래에있는; 및
  • 는 사전의 이름은 'MyStyles.xaml'

... 다음 아래와 같은 사전을 병합 할 수 있습니다 :

<UserControl.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary 
       Source="pack://application:,,,/external.assembly.name;component/Resources/MyStyles.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
     <!-- other resources go here --> 
    </ResourceDictionary> 
</UserControl.Resources> 
관련 문제