2013-03-25 45 views
0

我需要在運行時刪除Grid(grid1)的指定元素。這是我添加元素的代碼。刪除Grid的指定元素

examControls.Add(excontrol); // add the element on the ArrayList 
excontrol.Margin = new Thickness(x, y + margin, 0, 0); 
grid1.Children.Add(excontrol); 

如何在運行時刪除指定的「excontrol」元素(在運行時添加)?

在此先感謝

+0

你需要做的是,在XAML來代替。發佈你需要的截圖,我們可以給你一個正確的方式來實現它。 – 2013-03-25 17:34:55

回答

7

如果保持控制的記錄,你可以簡單地做:

grid1.Children.Remove(excontrol); 

如果你沒有保存你希望你刪除將控制變量必須以某種方式識別它(標籤,名稱),然後在網格的孩子中找到該控件,然後致電Remove

+0

謝謝你,非常有幫助,我解決了! – 2013-03-25 17:59:13

+0

是否釋放了內存空間? – 2017-07-27 15:25:06

+0

@AricFowler - 我會這樣認爲的,一旦'excontrol'超出範圍,並沒有引用其他地方。 – ChrisF 2017-07-27 15:33:54

3
grid1.Children.Remove(excontrol) //edited per your edit -- this is exactly what ChrisF posted though 

grid1.Children.RemoveAt(index) 
+0

謝謝你,非常有幫助! – 2013-03-25 17:58:25

+0

@NicolòCarpignoli沒問題。將來,文檔是你的朋友。爲了找到你的問題的答案,我只是搜索「c#wpf網格」。作爲第一個結果,[彈出](http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.aspx)。你會看到'Children'是一個['UIElementCollection'](http://msdn.microsoft.com/en-us/library/system.windows.controls.uielementcollection.aspx),它可以向你顯示你正在看什麼對於。 – tnw 2013-03-25 18:02:06

+0

現在,當我谷歌它,這個答案彈出。所以,你知道...謝謝大聲笑 – 2017-11-19 23:03:32