2012년 10월 22일 월요일

Resources in WPF (Binary Resources)

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

@

댓글 없음:

댓글 쓰기