2011-11-09 3 views
5

내 WPF 응용 프로그램에 여러 문자열과 이미지가 포함 된 MyResources.resx 리소스 파일이 포함되어 있습니다. 응용 프로그램을 현지화해야하기 때문에 전역 화 된 자원에 대한 모든 참조는 자동 생성 MyResources 클래스의 명명 된 속성을 통해 이루어져야합니다. 다음 코드는 문자열 리소스에 적합합니다.XAML을 사용하여 resx 파일에 이미지 바인딩 이미지

<Button Content="{x:Static local:Properties.MyResources.ButtonText}" /> 

그러나 이미지는 동일하지 않습니다. 나는 이미지 eflag.bmp의 국기라는 이름의 자원으로 자원에 추가 한 가정하면,이 같은 것을 할 수 있도록하고 싶습니다 :

<Image Source="/MyNamespace;component/Resources/eflag.bmp" /> 
:

<Image Source="{x:Static local:Properties.MyResources.Flag}" /> 

주의 사항을 다음과 같은 다른 방법이

은 현지화를 처리 할 수 ​​없으므로이 경우 사용할 수 없습니다. 문제는 코드를 사용하여 해결할 수 있지만 XAML 기반 솔루션을 찾고 있습니다.

+0

이미지 파일을 disign surface 위로 드래그하여 IDE에서 생성 할 소스를 확인하십시오. –

+0

어떻게 resx 파일에서 하나의 이미지를 끌 수 있습니까? – user379429

+0

다른 파일과 마찬가지로 프로젝트에 이미지를 추가하고 BuildAction을 Resource로 설정하면 어떤 결과가 나겠습니까? 그렇게하면/MyNamespace ** 소스를 사용할 수있게되며 대부분의 사람들이 그렇게 할 것입니다. 이미지 리소스를 소유하고 계십니까? –

답변

7

x:StaticBinding.Source으로 변경하고 Converter을 추가하면 Bitmap to ImageSource이됩니다.

Source="{Binding Source={x:Static local:Properties.MyResources.Flag}, 
       Converter={StaticResource BitmapToImageSourceConverter}}" 

은 또는 당신 컨버터 Bitmap를 받아 ProvideValue에서 ImageSource을 반환하는 사용자 정의 markup extension 할 수 있습니다.

Source="{me:BitmapToImageSource {x:Static local:Properties.MyResources.Flag}}"