2010-04-05 162 views
0

我想製作一個在WPF中用圖片填充Grid的函數。所以我做了:向WPF Grid添加元素

private void setCellImage(Grid g, Image img, int column, int row) 
{ 

    Grid.SetColumn(img, column); 
    Grid.SetRow(img, row); 

    if (!g.Children.Contains(img)) 
     g.Children.Add(img); 

    g.UpdateLayout(); 
} 

,並使用它通過調用該方法:

for (int i = 0; i < 15; i++) 
    for(int j=0; j<15; j++) 
     setCellImage(gameMap,background, i, j); 

但它不能正常工作。它只在單元格14,14中填充一個網格,使所有其他單元格保持空白。

我認爲這可能是我的錯,我應該使用圖像的另一個實例,但是這並不是說:

private void setCellImage(Grid g, Image img, int column, int row) 
{ 
    Image _img = new Image(); 
    _img = img; 

    Grid.SetColumn(_img, column); 
    Grid.SetRow(_img, row); 

    if (!g.Children.Contains(_img)) 
     g.Children.Add(_img); 

    g.UpdateLayout(); 
} 

這件事情仍然沒有工作。

+1

只是一個想法,即使在下面的圖像新實例代碼沒有使用。在第二行「_img = img;」中,執行此語句後,_img將包含引用img引用的對象的引用。 – 2010-04-05 11:12:39

回答

2

背景變量集的值在哪裏?如果它不會在你的循環中發生變化,那麼你只是在這裏和那裏取代相同的圖像

+0

你們都是對的。我進行了修改,現在它工作得很好。謝謝! – Konrad 2010-04-05 12:57:42