我正在努力学习绑定和转换器是如何工作的,而我正在努力
如何根据名为Status?
的可绑定属性将图像绑定到ViewCell例如:
我有一个Image,其Source设置为Status属性,如下所示,但这不起作用,不显示图像。我的猜测是我需要编写一个转换器,以某种方式将状态值转换为图像
<Image x:Name="StatusIcon" Source="{Binding Status}"/>
我的图片位于UWP项目根目录中,如果我这样做:
<Image x:Name="StatusIcon" Source="ms-appx:///Image1.png" />
,那么我的图像将正确显示,但我需要它根据Status属性动态更改。
答案 0 :(得分: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();
}
}