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


@

Posted by six605
,