2013-03-01 62 views
0

我有一個有400個孩子的畫布。每個孩子都是一個矩形,並充滿了圖像。如果我想找到一個特定的圖像,我會怎麼做呢?如何在畫布中找到某個子圖像?

//My code to fill a rectangle 
Image img = new Image(); 
img.Source = new BitmapImage(new Uri(@"hero.png", UriKind.Relative)); 
img.Margin = rec.Margin; 
ImageBrush imgbrush = new ImageBrush(); 
imgbrush.ImageSource = img.Source; 
rec.Fill = imgbrush; 

//My attempt at finding that certain rectangle 
foreach (Rectangle rec in canvas1.Children) 
     { 
      if (rec.Fill = ImageBrush.ImageSourceProperty) // I tried to compare the rectangle with the image's source 
      { 

      }     
     } 
+0

只是通過使用img.Name = ...給你的圖像一些名字,然後你可以用它來檢索一個特定的名字。 – user1514042 2013-03-01 16:22:39

+0

什麼是圖像控制的好處?它永遠不會添加到任何容器中。爲什麼不直接分配'imgbrush.ImageSource = new BitmapImage(...)'? – Clemens 2013-03-01 16:24:05

+0

你想要什麼圖像?我感覺這裏有一些MVVM的缺失。即使是遊戲,MVVM也可以簡化很多事情。我自己完成了基於Tile的MVVM遊戲。 – 2013-03-01 16:24:50

回答

1

您可以使用名稱爲每一個具體Image然後使用FindName方法

object wantedNode = stackPanel.FindName("dog"); 
0

爲什麼不存儲在一個陣列(鍵/對)以後可以遍歷的對象?