【问题标题】:WPF MVVM Binding Image Control to Image in ResourcesWPF MVVM 将图像控件绑定到资源中的图像
【发布时间】:2014-05-19 12:08:00
【问题描述】:

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

在我的转换器 EstateCodetoEstateImageConverter 我有

 return  Resources.Customer1EstateHeaderImage;

在我的 XAML 中有

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

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

【问题讨论】:

    标签: c# wpf mvvm


    【解决方案1】:

    在典型的 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;
    }
    

    【讨论】:

    • 谢谢,我试试看
    • 很好,很有效,谢谢。标记为答案
    猜你喜欢
    • 2013-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多