본문 바로가기

Development/WPF

[WPF] 다른 프로젝트의 ResourceDictionary (리소스사전) 참조 (추가) 하기

반응형

WPF Libaray에 만들어진 ResourceDictionary(리소스사전)을 참조 해 보도록 하겠다.

1. WPF Library Project 만들기

우선 본 프로젝트에서 활욯하고자 하는 Library Proejct 를 만든다.

만들어 놓은 솔루션에 Proejct 를 추가 한다.

WPF 라이브러리는 위의 이미지처럼 2개의 프로젝트로 생성(WPF 사용자 정의 컨트롤 라이브러리 와 WPF 사용자 지정 컨트롤 라이브러리 )이 가능하다. 두 프로젝트의 차이점은 추후 다시 한번 살펴 보고도록 하고...

일단 WPF 사용자 정의 컨트롤 라이브러리로 프로젝트를 생성한다. (Project Name : Wpf.ControlLibaray)

보통 프로젝트 명을 제품명과 함께 만드는 경우가 많아서 참고로 Wpf.ControlLibrary 로 만들었다.

생성 된 프로젝트
개발 프로젝트 (시작 프로젝트) 에 생성한 Wpf.ControlLibrary를 참조 한다.
참조 관리자에서 추가한 프로젝트를 체크 확인 한다.
프로젝트 참조
소스 관리를 위해 폴더를 구분한다. (개발 패턴, 네이밍 룰에 따라 적용)
Resource/Styles 폴더를 만들고 리소스사전을 추가한다.
추가된 리소스사전 파일
본프로젝트 (WpfApplication) 의 App.xaml 파일에 ResourceDicationary.MergeDictionaries 구문을 추가 한다.

<Application x:Class="WpfApplication.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfApplication"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <!--Resource Dictionary 추가 (S) -->
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/Wpf.ControlLibrary;component/Resources/Styles/ResourceDictionary.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
        <!--Resource Dictionary 추가 (E) -->
    </Application.Resources>
</Application>

 중요한 부분이 바로

ResourceDictionary.MergedDictionaries 부분 이다.

Source = "pack://application:,,,/<참조프로젝트>;compoment/<ResourceDictionary 경로>" 로 등록한다.

 

 

반응형

'Development > WPF' 카테고리의 다른 글

[WPF] Grid에 GridSplitter 넣기  (0) 2021.12.22
[WPF] FileDialog / FolderDialog  (0) 2021.01.05
[WPF] Watermark TextBox 만들기 (Resource)  (1) 2020.12.10
[WPF] DataGrid 에서 Rows Count  (0) 2020.07.13
[WPF] NotifyTrayIcon  (0) 2020.07.09