2009-06-27 69 views
2

如何通過某種名稱刪除wpf元素?所以某事像:如何通過標籤名稱刪除畫布上的wpf元素?

// Bar is some kind of usercontrol 
Bar b = new Bar(); 
b.Tag = "someId"; 
theCanvas.Children.Add(b); 

// Later to be removed without having the reference 
theCanvas.Children.RemoveElementWithTag("someId") 

除了ofcourse,RemoveElementWithTag是不是現有的方法...

回答

2

可以只使用一些LINQ:

var child = (from c in theCanvas.Children 
      where "someId".Equals(c.Tag) 
      select c).First(); 
theCanvas.Children.Remove(child); 

這麼說,我高度懷疑有一個更清潔,更好的表現方式來實現你想要達到的目標。

+0

+1,因爲你可以。我是這樣做的,現在我正在使用一本字典。但是真的沒有辦法通過id或者某個元素來獲取元素嗎? – Peter 2009-06-27 20:48:15

相關問題