2008-11-10 2 views
6

내가 이렇게 노력하고 있어요 ...WPF에서는 XAML을 사용하여 디렉토리에 중첩 된 파일의 경로를 어떻게 지정합니까?

<Image x:Name="imgGroupImage" Source="Images\unlock.png" Margin="0,0,5,0" /> 

하지만이 오류가 ...

의 객체에 속성 '소스'에 문자열 '이미지 \ unlock.png을'변환 할 수 없습니다 'System.Windows.Media.ImageSource'를 입력하십시오. 'forms/images/unlock.png'리소스를 찾을 수 없습니다. 객체 마크 업 파일 '퓨즈, 구성 요소/양식/mainwindow.xaml'에서 'System.Windows.HierarchicalDataTemplate'에서 오류 당신이 볼 수 있듯이 라인 (273)의 위치 (51)

이 XAML을 포함 내 양식은 폴더에 양식이라는. 내 이미지는 이미지라는 폴더에 있습니다. 양식에서 이미지로 어떻게 매핑합니까?

나는 WPF에서 작동하지 않는 Source="..Images\unlock.png"을 시도했다.

어떤 도움이 필요합니까?

답변

9

시도는 오히려 백 슬래시보다 슬래시 및 슬래시 선도하여 절대 경로를 사용 : 일반적으로 나를 위해 작동

Source="/Images/unlock.png" 

합니다.

실패한 점은 Pack URIs입니다.

+1

DOH! 너무 쉬웠다. 감사! – Doug

+0

Pack URI 링크가 작동하지 않습니다. 이것은 같습니다. https://msdn.microsoft.co.kr/ko-kr/library/vstudio/aa970069 (v = vs.100) .aspx –

0

소스를 BitmapImage으로 설정해 보셨습니까?

<Image x:Name="imgGroupImage" Margin="0,0,5,0" > 
    <Image.Source> 
     <BitmapImage UriSource="Images/unlock.png" /> 
    </Image.Source> 
</Image> 

나는 UriSource에 대한 Uri의 기본 유형은 응용 프로그램의 기본 클래스를 작동 상대 Uri, 믿습니다. Source 속성에 파일 경로를 입력해야하는 정확한 방법을 찾기보다 쉽게 ​​BitmapSource을 구성 할 수 있습니다.

5
  1. 이동이 컨텍스트 메뉴/등록
  2. 변경 빌드 작업이 자원에 해당 이미지 unlock.png에 VS에서 프로젝트에
  3. 마우스 오른쪽 버튼으로 클릭하여 이미지를 추가

그게 전부예요 :-)

0

다른 폴더에있는 리소스를 사용하려면 당신의 XAML이있는 한,이 작업을 수행 :

<Image Source="pack://application:,,,/Resources/image.png"/> 

자원 당신이 자원을 사용하려는 image.png를 표시 할 이미지의 이름 디렉토리의 이름입니다. Answer @ matt-hamilton과 @ brian-hinchey와 Pack URI에 대한 언급이있었습니다.
자신의 변환기와 완벽하게 작동합니다. 위의 문자열 일치 스키마를 반환하면됩니다.

관련 문제