2016-09-07 5 views
0

Resources.resx 파일에 이미지를 추가했습니다. 나는 이것을 다음과 같이 참조한다 :런타임에 이미지의 StaticResource가 발견되지 않는 이유는 무엇입니까?

디자이너 중에 나는 위의 구불 구불 한 파란 선을 본다. 내가 무슨 일을하고 있어요

Provide value on 'System.Windows.Markup.StaticResourceHolder' threw an exception.

어떤 아이디어 : 그것은

The resource "MyImage" could not be resolved.

런타임시, 그것은이 오류가 발생합니다라고?

+1

바인딩 컨텍스트에'MyImage'이 있습니까? 당신의 모델은 어떻게 생겼습니까? Binding 대신에'StaticResource' 또는'DynamicResource'를 사용하셨습니까? – vcsjones

+0

아니요 - 바인딩 컨텍스트에 없습니다. 나는 이것이'StaticResource'라고 확신한다. – 4thSpace

답변

3

resx 개의 파일을 WPF와 함께 사용하지 마십시오. interop 작업을 수행하려면 코드를 추가해야합니다. resx의 이미지는 주로 WinForms 코드에 사용됩니다.

는 파일 속성에 자원빌드 작업 설정 : <Image Source="../../Some/Relative/Path.png"/>

어느 {Binding}{StaticResource}이가 필요합니다 :

build action

가 그럼 그냥 직접 파일을 참조.

+0

Build Action이 Resource 인 경우 "../"로 시작하는 "상대 경로"가 없습니다. 사실, 그것은 'resource file pack URI'(https://msdn.microsoft.com/en-us/library/aa970069 (v = vs.110) .aspx)이며'pack : // application : ,, , /'접두사로, XAML 파서에 의해 자동으로 추가됩니다. – Clemens

+0

@Clemens 리소스가 동일한 어셈블리에 있으면 xaml 파일에 상대적인 경로를 사용할 수도 있습니다. 나는 부모 디렉토리를 나타 내기 위해'../'를 사용했다. –