我有一些堆叠面板。每个堆叠面板都有一个图像标签。代码如下所示:
....
<StackPanel>
<Image Source="/Puzzle15;component/Images/Themes/Easy/p5.png" Tag="5"/>
</StackPanel>
<StackPanel>
<Image Source="/Puzzle15;component/Images/Themes/Easy/p6.png" Tag="6"/>
</StackPanel>
<StackPanel>
<Image Source="/Puzzle15;component/Images/Themes/Easy/p7.png" Tag="7"/>
</StackPanel>
...
我希望使用代码
获取图像源值for(int i = 0; i <= 14; i++)
{
String s = ((Image)((StackPanel)ContentPanel.Children[i]).Children[0]).Source.ToString();
MessageBox.Show(s);
}
结果显示“System.Windows.Media.Imaging.BitmapImage”
你能告诉我获取源值的方法吗? 谢谢!
答案 0 :(得分:1)
var bms = ((Image)((StackPanel)ContentPanel.Children[i])
.Children[0]).Source as BitmapImage;
var addy = bms.UriSource.ToString();
顺便说一句,你这样做的方式与WPF(以及silverlight,WP,Modern UI等)编程是对立的。我强烈建议你做一些阅读,一些教程,学习“视图模型”的含义,以及如何使用Bindings。最后你会好起来的。