我创建了一个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“画布”控件