2012-01-07 54 views
0

我有一個Grid 5行5列。我動態創建這個Grid。每個單元都包含自定義用戶控件我想用給定的行和列的其他用戶控件動態替換用戶控件。您可以看到創建Gridhere的方法實現。如何將單元格中的用戶控件替換爲網格。 WPF?

我的問題是如何在Grid已經創建後,在給定的行和列上替換用戶控件?對不起,如果我的英語不好!

預先感謝您!

回答

1

該功能可能會滿足您的需求

public void ReplaceItemAt(Grid grid, FrameworkElement fe, int row, int col) 
{ 
    // clear desired cell 
    var items = grid.Children 
     .Where(x => Grid.GetRow(x) == row && Grid.GetColumn(x) == col) 
     .ToArray(); 
    foreach(var item in items) grid.Children.Remove(item); 

    // make sure the new item is positioned correctly 
    Grid.SetRow(fe, row); 
    Grid.SetColumn(fe, col); 

    // insert the new item into the grid 
    grid.Children.Add(fe); 
} 
+0

很好的實現,並感謝您的幫助。你解決了我的問題。 – 2012-01-07 17:54:21

相關問題