Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF MVVM将映像控件绑定到资源中的映像_C#_Wpf_Mvvm - Fatal编程技术网

C# WPF MVVM将映像控件绑定到资源中的映像

C# WPF MVVM将映像控件绑定到资源中的映像,c#,wpf,mvvm,C#,Wpf,Mvvm,我在我的资源中有一个图像,我想基于输入文本字符串来显示,我正在使用转换器,在我的应用程序中没有显示它的情况下,如何实现这一点 在我的转换器EstateCodetoEstateImageConverter中,我有 return Resources.Customer1EstateHeaderImage; 在我的XAML中,我有 <Image Source="{Binding EstateSheet.EstateCode, Converter={StaticResource Esta

我在我的资源中有一个图像,我想基于输入文本字符串来显示,我正在使用转换器,在我的应用程序中没有显示它的情况下,如何实现这一点

在我的转换器EstateCodetoEstateImageConverter中,我有

 return  Resources.Customer1EstateHeaderImage;
在我的XAML中,我有

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


我的理解是绑定到源代码需要的是文件路径名而不是实际的资源,我应该如何做到这一点。

在典型的WPF应用程序中,您不会将图像放入
Resources.resx
并通过
Resources
类访问它们。相反,您只需将图像文件添加到VisualStudio项目中(可能位于名为Images的文件夹中),并将其
构建操作设置为
资源
。现在您可以通过访问它们,转换器的转换方法可能如下所示:

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

谢谢,我会尝试一下,很好,很有效,谢谢。标记为答案