0

スタックパネルがいくつかあります。また、各スタックパネルには画像タグがあります。コードは次のようになります。

....
<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」を示しています

ソース値を取得する方法を教えていただけますか?ありがとう!

4

1 に答える 1

1
var bms = ((Image)((StackPanel)ContentPanel.Children[i])
          .Children[0]).Source as BitmapImage;
var addy = bms.UriSource.ToString();

ちなみに、これを行う方法は、WPF(およびSilverlight、WP、Modern UIなど)プログラミングとは正反対です。いくつかの読書、いくつかのチュートリアルを行い、「モデルの表示」の意味とバインディングの使用方法を学ぶことを強くお勧めします。あなたは最終的には良くなるでしょう。

于 2013-02-21T15:39:12.210 に答える