我有一个网格,在那个网格中有几个图像和其他一些元素。我想创建一个背景图像作为每个图像的静态资源。我明白这不是不可能所以请帮助我。 例如(这不是正确的代码,这只是我想要实现的例子
<style x:key="myimage">
<Setter property="Image" value="images/loading.png"/>
</style>
<image style={staticresource myimage" source={binding someotherimage"/>
答案 0 :(得分: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();
}
}
}