2017-03-23 1 views
0

내 실행 파일을 생성하는 주 프로젝트가 있습니다. App.xaml에서 기본 스타일을 정의하고 있습니다. 이제이 스타일을 다른 라이브러리 (dll)의 다른 프로젝트에서 사용하고 싶습니다. 이 문제에 대한 모든 질문은 stackoverflow에서 읽었지만 나에게는 도움이되지 않습니다. 주 프로젝트에서 참조하는 라이브러리에서 스타일을 사용하기 때문에이 문제가 발생할 수 있습니까?App.xaml에 정의 된 스타일을 wpf 응용 프로그램의 다른 라이브러리에서 사용하는 방법은 무엇입니까?

감사합니다, 알렉스

답변

2

여러 프로젝트/응용 프로그램에서 사용할 수있는 별도의 Resource Dictionary에 이러한 스타일을 이동해야합니다. 에서 당신의 스타일을이 프로젝트에 ResourceDictionary를 추가하고 이동

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="\shared\MyResources.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 
2

새로운 WPF 사용자 컨트롤 라이브러리 만들기 :

당신의 App.xaml에 참조 다음 리소스 사전을 만들고 프로젝트에 추가하고 App.xaml to this ResourceDictionary.

<Application x:Class="WpfApplication1.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      StartupUri="MainWindow.xaml"> 
    <Application.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="pack://application:,,,/WpfControlLibrary1;component/ResourceDictionary1.xaml"/> 
      </ResourceDictionary.MergedDictionaries> 
     </ResourceDictionary> 
</Application> 

: 그럼 당신은 당신의 WPF 응용 프로그램과 당신이 App.xamlResourceDictionary 이러한 스타일을 사용하고 병합하고자하는 다른 응용 프로그램에서이 새로운 프로젝트에 대한 참조 (프로젝트 -> Visual Studio에서 참조 추가)를 추가 분명히 "WpfControlLibrary1"과 "ResourceDictionary1"을 새 프로젝트의 실제 이름과 각각 ResourceDictionary으로 변경해야합니다.

이렇게하면 여러 가지 응용 프로그램에서 사용할 수있는 독립 실행 형 어셈블리로 공용 스타일을 이동했습니다.

관련 문제