2012-11-11 2 views
1

아래 코드는 다른 프로젝트에서 작동합니다. 또한 두 번째 경우에는 절대 URL을 포함합니다. 내 프로젝트 폴더에 res 폴더가 있습니다. 무엇이 다를 수 있습니까?이미지 상대 경로는 한 프로젝트에서 작동하지만 다른 프로젝트에서는 작동하지 않습니다.

BitmapImage myBitmapImage = new BitmapImage(); 
     myBitmapImage.BeginInit(); 
     myBitmapImage.UriSource = new Uri(@"\res\arato.png", UriKind.RelativeOrAbsolute); 
     myBitmapImage.EndInit(); 

     var img = new Image(); 
     img.Source = myBitmapImage; 
     img.Margin = new Thickness(0, 0, 0, 0); 

     canvas.Children.Add(img); 
+0

이미지가 '콘텐츠'또는 '리소스'로 설정되어 있는지 여부에 따라 달라질 수 있습니다. – Patrick

답변

1

상대 경로 또는 절대 경로를 지정하려면 Pack URIs을 사용하십시오.

+0

좋은데, 나는 간단한 해결책을 찾고 있었다. – csomakk

+0

@csomakk : 어떻게 이것이 간단하지 않습니까? – Patrick

0

해결책은 다음과 같습니다. 파일 탐색기가 아닌 Visual Studio의 폴더로 그림을 드래그해야했습니다.

0

이는 파일의 빌드 작업과 관련이 있습니다. Visual Studio 내에서 파일의 속성을 보면 Build Action을 볼 수 있습니다. Wpf는 "Resource"으로 가장 잘 재생되며 "Embedded Resource"에서도 잘 작동하지 않습니다. 안타깝게도 임베디드 리소스는보다 직관적 인 이름을 가지고 있습니다. 그래서 WPF를 처음 배울 때 어려움을 겪었습니다.

관련 문제