我創建了一個wpf應用程序,有兩個畫布我想將兩個cancas的控件存儲到一個集合,以便我可以在沒有兩個循環的情況下處理它們。什麼是最好的方法來實現這一點。如何從兩個畫布的控件創建集合
0
A
回答
1
你可以使用LINQ的Union
操作兩個Canvas.Children
集合一起拉入一個:
for (UIElement child in canvasOne.Children.Cast<UIElement>()
.Union
(canvasTwo.Children.Cast<UIElement>()))
{
...
}
注意以下幾點:
顯示實際上並不創建一個新的,可變的代碼你可以修改的集合;它只是設置一個
IEnumerable<UIElement>
,以便您可以一次遍歷這兩個集合的元素。也就是說,現有的兩個集合將被訪問,而不是一個新集合。Cast<UIElement>
運營商是必要的,因爲Canvas.Children
不實施IEnumerable<T>
,但只有IEnumerable
。您需要在項目中引用
System.Core.dll
程序集,並在您的代碼文件中導入System.Linq
命名空間以使其生效。
0
相關問題
- 1. 如何從defrecord創建一個集合?
- 2. 如何創建一個具有集合的控件
- 3. 從集合創建集合?
- 4. 如何創建多個集合的均勻分佈?
- 5. 從Draw2D畫布創建PDF
- 6. 如何從res/values/arrays.xml創建集合?
- 7. 如何刪除從控制集合創建的對象的事件
- 8. 如何從兩個接口的聯合創建一個類型?
- 9. 創建畫布
- 10. 如何創建IQueryable集合?
- 11. 如何從不同的表創建兩個超集
- 12. 從集合創建MenuItems
- 13. Backbone:從JSON創建集合
- 14. 混合兩個圖像HTML5畫布
- 15. 如何創建從FrameworkElement派生的自定義組合控件
- 16. JS - 畫布 - 同時畫兩個畫布 - ?喂兩個變量?
- 17. KineticJS創建畫布
- 18. 如何創建SQL合併發佈而不創建BCP文件
- 19. SparkR從兩個集合
- 20. ASP.NET如何創建具有兩個容器的容器控件?
- 21. 如何創建具有兩個內容區域的Silverlight控件
- 22. WPF - 創建簡單的控件在畫布上使用
- 23. 如何創建畫布選擇工具?
- 24. 如何從兩個.doc文件創建一個.zip文件?
- 25. 創建一個jQuery集合
- 26. 如何從哈希表中創建一個集合?
- 27. 如何合併兩個Ruby集合?
- 28. Boost.MultiIndex:如何創建一個有效的集合交集?
- 29. 如何在WPF(3個控件)中創建此佈局?
- 30. .net「畫布」控件