WPF 에서 사용하는 리소스는 두가지 타입이 있다.
1) Binary Resource
2) Logical Resource
Binary Resources
Binary Resource 는 로그 파일, 이미지 파일, AV 파일등이 사용된다.
리소스 파일 속성에 보면 WPF 에서 정의된 Build Action 옵션이 있다.
이 중 Binary Resource 는 'Resource', 'Content(내용)' 두가지 옵션이 많이 사용된다.
*) Build Action
파일이 빌드 및 배포 프로세스와 연결되는 방법
Resource
어셈블리에 포함되는 리소스
Content(내용)
리소스가 어셈블리에 포함되지 않는다. 어셈블리에 Custom Attribute 인 AssemblyAssociatedContentFile 를 포함시킨다.
AssemblyAssociatedContentFile 어트리뷰트에는 사용할 리소스 파일의 상대 경로를 설정한다. 이 방법을 이용하면 리소스 파일을 프로젝트에 포함 시키지 않고서도 해당 리소스를 사용할 수 있다. 동적으로 생성되는 리소스 파일을 사용할 경우 유용하다.
Resource 와 Embedded Resource 의 차이
Resource 와 Contents 빌드 액션은 Uris를 사용하여 WPF 리소스에 접근한다.
Embedded Resource 는 WPF 이전부터 사용하던 리소스 사용 방법이다.
Resource 와 Embedded Resource 두 방법 모두 어셈블리에 리소스를 포함시키지만, Resource 빌드 액션은 WPF 에서 사용하는 방법이다.
Binary Resource 접근을 위한 URIs
"Logo.jpg" |
"A/B/Logo.jpg" |
"D:\Resource\Logo.jgp" |
http://pinvoke.net/logo.jpg |
ResourceDll;component/Logo.jpg |
ResourceDll;component/A/B/Logo.jpg |
pack://siteOfOrigin:,,,/logo.jpg |
pack://siteOfOrigin:,,,/A/B/logo.jpg |
*) 참고
- Resources in WPF 1 (Binary Resources)
- WPF Application Resource, Content, and Data Files - MSDN
@