0

我有一个网格,在那个网格中有几个带有其他元素的图像。我想为每个图像创建一个背景图像作为静态资源。我知道这并非不可能,所以请帮助我。例如(这不是正确的代码,这只是我想要实现的示例

<style x:key="myimage">
<Setter property="Image" value="images/loading.png"/>
</style>

<image style={staticresource myimage" source={binding someotherimage"/>
4

1 回答 1

1

我不明白这个问题,但也许你可以尝试这样的事情:(这是一个例子)

XAML

把它放在 PhoneApplicationPage 中:

 xmlns:my="clr-namespace:YOURNAMESPACE"
  <phone:PhoneApplicationPage.Resources>
        <my:BinaryToImageSourceConverter x:Key="BinaryToImageSourceConverter1" />
  </phone:PhoneApplicationPage.Resources>

把它放在你的网格中:

<Image Source="{Binding Path=Image, Converter={StaticResource BinaryToImageSourceConverter1}, ConverterParameter=Image, TargetNullValue='/Image/no-foto-60.png'}"  Stretch="None" />

你必须实现类 BinaryToImageSourceConverter: IValueConverter

namespace YOURNAMESPACE
{
    public class BinaryToImageSourceConverter: IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
        {
            if (value != null && value is byte[]) 
            {
                try
                {
                    var bytes = value as byte[];
                    var stream = new MemoryStream(bytes);
                    var image = new BitmapImage();
                    image.SetSource(stream);
                    stream.Close();
                    return image;
                }
                catch (Exception)
                { }
            } 
            return null; 
        }      
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
        { 
            throw new NotImplementedException(); 
        } 
    }
}
于 2013-09-23T14:47:57.820 回答