2017-11-08 10 views
0

의 가치를 기반으로 내가 UWP보기 이미지가 동적으로 내가 어떻게 바인딩 및 변환기 일을 배우려고 노력 오전 바인딩 속성

어려움을 겪고 있는가? 예를 들어

:

  • 내 상태 = "Z"는 이미지 3
  • 보여 주면 내 상태 = "Y"는, 이미지 2
  • 보여 주면 내 상태 = "X"는 이미지 1
  • 보여 주면

소스가 아래의 Status 속성으로 설정되었지만 작동하지 않는 이미지가 있습니다. 이미지가 표시되지 않습니다. 내 생각 엔 어떻게 든

<Image x:Name="StatusIcon" Source="{Binding Status}"/> 

내 이미지

는 UWP 프로젝트 루트에 locaed되는 이미지에 상태 값을 변환하는 변환기를 작성해야한다는 것입니다 내가이 할 경우 :

<Image x:Name="StatusIcon" Source="ms-appx:///Image1.png" /> 

을, 다음 내 이미지가 제대로 표시되지만 Status 속성을 기반으로 동적으로 변경해야합니다.

답변

1

당신 말이 맞습니다. 문자열을 해당 이미지로 변환하려면 변환기를 사용해야합니다. 여기

훨씬 비제이 알 샘플 코드

public class ImageConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, string language) 
    { 
     switch (value as string) 
     { 
      case "X": 
       return new BitmapImage(new Uri("ms-appx:///Image1.png")); 
      case "Y": 
       return new BitmapImage(new Uri("ms-appx:///Image2.png")); 
      case "Z": 
       return new BitmapImage(new Uri("ms-appx:///Image3.png")); 
      default: 
       return new BitmapImage(new Uri("ms-appx:///Default.png")); 
     } 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, string language) 
    { 
     throw new NotImplementedException(); 
    } 
} 
+0

인 – pixel