2014-05-19 2 views
2

리소스를 이미지로 사용합니다. 변환기를 사용하는 입력 텍스트 문자열을 기반으로 표시하고 싶습니다.이를 구현하는 방법은 무엇입니까? 신청. 내 XAML에서WPF MVVM 리소스의 이미지에 이미지 컨트롤 바인딩

return Resources.Customer1EstateHeaderImage; 

이 EstateCodetoEstateImageConverter 내 컨버터

나는

<Image Source="{Binding EstateSheet.EstateCode, Converter={StaticResource EstateCodetoEstateImageConverter1}}" Stretch="Fill" Width="189" Height="112" /> 

나의 이해는 소스에 바인딩 파일의 경로 이름이 필요하지 실제 자원, 방법이해야한다는 것이다있다 나는 이것을한다.

답변

2

일반적인 WPF 응용 프로그램에서는 Resources.resx에 이미지를 넣지 않고 Resources 클래스로 액세스 할 수 있습니다. 대신 Visual Studio 프로젝트 (아마도 Images라는 폴더)에 이미지 파일을 추가하고 Build ActionResource으로 설정하면됩니다. 이제 당신이 Pack URI에 의해 그들에 액세스 할 수 있습니다, 그리고 컨버터의 변환 방법은 다음과 같습니다

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
{ 
    object result = null; 

    switch ((EstateCode)value) 
    { 
     case EstateCode.EstateCode1: 
      result = new BitmapImage(new Uri("pack://application:,,,/Images/Estate1.jpg")); 
      break; 
     case EstateCode.EstateCode2: 
      result = new BitmapImage(new Uri("pack://application:,,,/Images/Estate2.jpg")); 
      break; 
    } 

    return result; 
} 
+0

감사합니다, 나는이 시도를주지 – Oliver

+0

우수, 일이, 감사합니다. 답변으로 표시 – Oliver