wpf中的控件模板里的元素有自己独立的命名域。 因此不能通过FindName来根据x:Name来查找子节点。
自己写了一个方法, 通过可视树遍历子节点,然后匹配名字。 如下:
private static ChildItem FindVisualChildItem<ChildItem>(DependencyObject obj) where ChildItem : DependencyObject { if (null != obj) { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) { DependencyObject child = VisualTreeHelper.GetChild(obj, i); if (child != null && child is ChildItem) return (ChildItem)child; else { ChildItem childOfChild = FindVisualChildItem<ChildItem>(child); if (ch