0
有没有人有一种很好的方法来查找同一类型的对象中的所有控件?这里是我的场景,我有一个选项卡控件,并且在每个选项卡控件中都存在一个用户控件(所有这些控件都匹配相同的基本类型,例如MyBaseClassControl)。我希望能够找到该用户控件,而不必使用control.FindName(“controlName”)方法,而是希望通过类型(例如基类)获得控件的句柄。 VisualTreeHelper类似乎对我无能为力,因为它只返回本地Silverlight对象。查找同一类型的控件
奇怪的是这个扩展方法永远不会返回我的自定义基本类型。 VisualTreeHelper递归中的“GetChildren”方法?我忘了提及我正在寻找的控件包含在一个Grid中。 – user378212 2010-06-28 23:44:38
应该工作,虽然严重效率低下。 'Union'需要跟踪的对象在输出中不会包含多次,在这种情况下是不必要的,孩子被放置在'List'(也是不必要的),并且所有这些都是递归地完成的,其中深度嵌套对象树大量增加了所有这些成本。 –
AnthonyWJones
2010-06-29 12:36:31
同意,如果性能成为问题,可以并应该优化。为了这个问题的目的 - 例如如何通过类型找到控件 - 尽管如此,它确实证明了它。 – 2010-06-29 18:50:01