-1

xml代码:

    <Image x:Name="image2" Margin="-700 -10 0 0"/>

在第二个图像标签中,我尝试引用上面定义的图像:

    <Image x:Name="image2" />

c#代码:

    private ImageSource image =
    new BitmapImage(new Uri("pack://application:,,,/Resources/image.jpg"));
    image2.Source = image;
4

2 回答 2

0

不确定我是否理解这个问题。但如果是“如何在代码隐藏中创建 BitmapImage 并将其分配给两个不同的 Image 控件? ”,答案很简单:

在 XAML 中创建两个 Image 控件并为其指定唯一名称:

<Image x:Name="image1"/>
<Image x:Name="image2"/>

在后面的代码中,创建一个 BitmapImage 并将其分配给每个 Image 的 Source 属性:

var bitmap = new BitmapImage(new Uri("pack://application:,,,/Resources/image.jpg"));
image1.Source = bitmap;
image2.Source = bitmap;
于 2013-09-24T13:54:32.510 回答
0

我找到了解决这个问题的方法。首先在后面的代码中我使用了一个实现INotifyPropertyChanged然后绑定图像控件的类,如下所示:

<Image Source="{Binding Logo}" />

到返回 an 的属性,ImageSource如下所示:

 private ImageSource logo = null;
    public ImageSource Logo
    {
        get
        {
            return logo;
        }
        set
        {
            if (value!=logo)
            {
                logo = value;
                NotifyPropertyChanged("Logo");
            }
        }
    }

然后我将图像设置如下:

 private ImageSource image =
    new BitmapImage(new Uri("pack://application:,,,/Resources/logo.jpg"));
c.Logo=image;

现在每次我将图像控件绑定到此属性时,都会显示相同的图像,而不是创建两个图像控件:

<Image x:Name="image1"/>
<Image x:Name="image2"/>

然后为每个控件分配相同的图像

 var bitmap = new BitmapImage(new Uri("pack://application:,,,/Resources/image.jpg"));
image1.Source = bitmap;
image2.Source = bitmap;
于 2013-10-02T10:20:12.877 回答