Windows Phone:如何在堆栈面板中获取图像标签的图像源值?

时间:2013-02-21 15:29:44

标签: windows windows-phone-7

我有一些堆叠面板。每个堆叠面板都有一个图像标签。代码如下所示:

....
<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”

你能告诉我获取源值的方法吗? 谢谢!

1 个答案:

答案 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。最后你会好起来的。