【问题标题】:UWP Show Image Dynamically Based on a Value of a Bindable PropertyUWP 根据可绑定属性的值动态显示图像
【发布时间】:2018-04-20 13:30:00
【问题描述】:

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

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

例如:

  • 如果我的状态 = "X",则显示 Image1
  • 如果我的状态 = “Y”,则显示 Image2
  • 如果我的状态 = "Z",则显示 Image3

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

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

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

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

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

【问题讨论】:

    标签: binding uwp converter uwp-xaml


    【解决方案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();
        }
    }
    

    【讨论】:

    • 非常感谢维杰
    猜你喜欢
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2017-11-08
    相关资源
    最近更新 更多