2013-02-04 3 views
6

다른 프로젝트 (예 : Elysium)에 정의 된 리소스 라이브러리에 대한 참조를 추가하고 표현식 혼합에 사용하려고합니다.Expression Blend에서 타사 라이브러리 테마에 정의 된 외부 리소스 사전에 대한 참조를 추가하는 방법

내 App.Xaml 파일에서 리소스 사전을 병합하는 방법은 다음과 같습니다.

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro.Resources;component/Icons.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/Telerik.Windows.Themes.Metro;component/Themes/System.Windows.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

그러나 Expression Blend 4에서 라이브러리에 정의 된 브러시 리소스를 가져올 수 없습니다.

enter image description here

+0

해결 방법을 찾으셨습니까? 나는 정확히 같은 문제에 직면했습니다 –

+0

@DeanChalk 예, 아래에 제 솔루션을 게시했지만 해결책으로 내 대답을 표시 할 수 없었습니다. 도움이된다면 답을 표시해주세요. 감사. –

답변

4

는 Expression Blend를 포럼에 대한 내 대답을 찾을 수 없습니다 "(., 외부 리소스 사전으로 이동을 선택하고 확인을 클릭) 프로젝트> 기존 항목에 대한 링크> 가 다시."http://social.msdn.microsoft.com/Forums/en/blend/thread/21bdc8a1-4a58-49f9-ae4d-c736b8fd673a

+2

외부 리소스가 dll에 있으면 어떻게됩니까? 또한 응용 프로그램에서 MahApps.Metro를 사용하고 있으며 Blend를 사용하여 내보기에서 테마에서 자원 (주로 브러쉬)을 참조하여 해당 항목을 찾을 수 있기를 바랍니다. –

+0

방금이 작업을 수행했으며 필요한 추가 단계가있었습니다.링크 및 재구성 한 후, 아래의 Sorskoot 지침에 따라 두 번째 프로젝트의보기 또는 컨트롤을 방금 프로젝트에 링크 한 사전에 연결하십시오. 그래야만 개체의 고급 옵션 메뉴에서 공유 리소스를 "로컬 리소스"로 선택할 수 있습니다. – arwenvh

1

나는 소스 속성이 잘못 설정되어 생각합니다.

<Window.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary 
        Source="/WpfControlLibrary1;component/BrushesInAssembly.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Window.Resources> 
<Grid x:Name="LayoutRoot" Background="{DynamicResource RedBrush}"/> 

내가이에 와서 무슨 짓을 : 샘플로

나는 혼합에 새로운 WPF 프로젝트를 생성 및 제어 라이브러리를 추가했다. 주 프로젝트에서 어셈블리를 참조했습니다.

하나의 브러시가있는 리소스 사전을 RedBrush에 추가했습니다.

project

나는 MainWindow.xaml에 가서 자원 패널을 열어보다. 나는 사전을 연결했다. 를 연결 한 후

resource pane

자원의 목록에 표시됩니다.

RedBrush

+0

외부 라이브러리 (다른 네임 스페이스 아래에있는 타사 사용자 컨트롤과 같은 프로젝트 라이브러리)에서 제안한 것을 시도했습니다. 귀하의 예와 같이 나열된 파일을 볼 수 없습니다. –

+0

덕분에 정렬이 가능했습니다. 감사합니다. – Marc

0

희망 솔루션을 이미 찾았지만 그렇지 않다면 this link here을 상수 참고로 사용하십시오.

다음은 외부 리소스 프로젝트에서 ResourceLibraries를 연결하는 방법, 팀 이름을 스타일로 지정하고 구성하여 팀원이 진행 상황을 알 수 있도록하는 방법을 보여줍니다.

누군가 도움이되기를 바랍니다.