WPF에서 이미지의 Source 속성을 설정할 때 파일 경로를 지정하는 방법에는 상대 경로와 절대 경로 두 가지가 있습니다.
첫 번째 예제에서는 상대 경로를 사용하여 이미지의 Source를 설정하고 있습니다.
<Image Width="16" Height="16" Source="Images/Component.png" Margin="1,0,3,0" />
상대 경로를 사용할 경우, 이미지 파일의 경로는 현재 XAML 파일의 위치를 기준으로 합니다. 즉, 현재 XAML 파일과 같은 폴더 내의 Images 폴더에 있는 Component.png 파일을 참조하게 됩니다.
두 번째 예제에서는 절대 경로를 사용하여 이미지의 Source를 설정하고 있습니다.
<Image Width="16" Height="16" Source="/Images/Component.png" Margin="1,0,3,0" />
절대 경로를 사용할 경우, 이미지 파일의 경로는 프로젝트 루트를 기준으로 합니다. 이 경우 프로젝트 루트 폴더 내의 Images 폴더에 있는 Component.png 파일을 참조하게 됩니다.
요약하면, 첫 번째 예제는 현재 XAML 파일의 위치를 기준으로 이미지 파일을 찾는 상대 경로를 사용하고, 두 번째 예제는 프로젝트 루트를 기준으로 이미지 파일을 찾는 절대 경로를 사용합니다.
이 경로는 WPF에서 이미지의 Source 속성을 설정할 때 사용되는 Pack URI라고 불리는 특수한 형식의 URI입니다. 이 형식은 리소스를 어셈블리 내에서 참조할 수 있도록 합니다.
Source="/LibXMachineEditor;component/Images/Component.png"
이 URI의 구성 요소를 살펴보겠습니다.
/ : 절대 경로를 나타냅니다. 프로젝트 루트를 기준으로 파일 경로를 찾습니다.
LibXMachineEditor : 참조하는 어셈블리의 이름입니다. 여기서는 "LibXMachineEditor"이라는 이름의 어셈블리를 참조하고 있습니다.
;component : 리소스가 참조하는 어셈블리 내의 컴포넌트로 정의되어 있다는 것을 나타냅니다. 이 키워드가 포함되면, WPF는 리소스가 현재 어셈블리가 아닌 다른 어셈블리에 포함되어 있다고 판단합니다.
/Images/Component.png : 어셈블리 내의 리소스 경로입니다. 이 경우 "Images" 폴더 내의 "Component.png" 파일을 참조하게 됩니다.
이렇게 설정된 Source 속성은 "LibXMachineEditor" 어셈블리 내의 "Images" 폴더에 있는 "Component.png" 파일을 참조합니다. 이 방법은 다른 어셈블리에 포함된 리소스를 사용할 때 유용합니다.
'프로그래밍' 카테고리의 다른 글
c# wpf 에서 gif 애니메이션 파일을 디스플레이 하는 방법 (WpfAnimatedGif) (0) | 2023.04.28 |
---|---|
개발자가 코딩 실수를 줄일 수 있는 방법 5가지 (0) | 2023.03.24 |
TIniFile 대신 TMemIniFile 사용하면? (0) | 2012.04.19 |
TreeView의 TreeNode 클래스 바꾸기 (0) | 2012.04.18 |
TRichEdit에 rtf 문자열 Asssign하기 .. (1) | 2012.03.31 |