WPF MVVM将镜像控制绑定到资源中的镜像

本文关键字:镜像 资源 控制 MVVM WPF 绑定 | 更新日期: 2023-09-27 18:03:57

我在我的资源中有一个图像,我想根据输入文本字符串显示我使用转换器的地方,实现这一点的方法是什么,因为它没有显示在我的应用程序中

在我的转换器EstateCodetoEstateImageConverter中我有

 return  Resources.Customer1EstateHeaderImage;

在XAML中,我有

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

我的理解是,绑定到源需要文件的路径名称,而不是实际的资源,我该怎么做呢?

WPF MVVM将镜像控制绑定到资源中的镜像

在典型的WPF应用程序中,您不会将图像放入Resources.resx并通过Resources类访问它们。相反,您只需将图像文件添加到Visual Studio项目中(可能在名为Images的文件夹中)并将其Build Action设置为Resource。现在,您可以通过Pack URI访问它们,转换器的Convert方法可能如下所示:

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