UWP 基于可绑定值 属性 动态显示图像

UWP Show Image Dynamically Based on a Value of a Bindable Property

我正在尝试了解绑定和转换器的工作原理,但我正在努力

如何根据名为 Status 的可分类 属性 将图像绑定到 ViewCell?

例如:

我有一个图像,其源设置为状态 属性,如下所示,但这不起作用,图像未显示。我的猜测是我需要编写一个转换器以某种方式将状态值转换为图像

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

我的图像位于 UWP 项目根目录中,如果我这样做:

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

,然后我的图像将正确显示,但我需要它根据状态动态更改 属性。

你是对的。您需要使用转换器将字符串转换为相应的图像。

这是一个示例代码

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();
    }
}