作为Windows应用程序的一部分(我必须接管),我在XAML文件中有以下行:
<Image Grid.Row="1" Grid.Column="5"
x:Name="PART_batterySymbol"
Stretch="Fill"
Source="/CustomControls;component/Resources/Symbol_Battery_2_50x50.png"/>
它在ListBox行中显示电池图标:
是否可以在XAML 中包含一个源代码,它会在我拥有的3张图片之间随机选择?
我是WPF和C#的新手,但我有一些Adobe / Apache Flex的开发经验,可以使用{ .... }
在MXML 文件中嵌入一些代码括号
答案 0 :(得分:2)
我认为最容易得到你想要的东西,特别是如果你的图像在深层复杂树中,是这样的:
public static class BatteryIcons {
private static readonly Random _random = new Random();
public static ImageSource Random {
get
{
var id = _random.Next(1, 4);
// read random icon from your resources given id and return
// alternatively, use default ImageSourceConverter
string path = "get path to your icon";
return (ImageSource) new ImageSourceConverter().ConvertFromString(path);
}
}
}
然后在你的xaml:
<Image Source="{x:Static wpf:BatteryIcons.Random}" />
所以你基本上引用了静态类的静态属性,每次调用这个属性时,它都会返回你电池图标的随机图像。