WPF嵌套用户控件

时间:2013-08-06 04:04:43

标签: wpf user-controls

我已经构建了一个WPF用户控件,其中包含一个带有自定义弹出窗口的ComboBox,其中包含一个用户控件,内部控件(弹出窗口中的那个)有一些我希望在主用户控件中公开的属性,所以主机页面可以读取和写入内部控件。

我无法做到这一点是我做错了什么或者我做错了什么?

关心Christian Andersen

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此

进行曝光
public static IEnumerable<T> FindVisualChildren<T>(this DependencyObject depObj) where T : DependencyObject
        {
            if (depObj == null) yield break;
            for (var i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
            {
                var child = VisualTreeHelper.GetChild(depObj, i);
                var children = child as T;
                if (children != null)
                {
                    yield return children;
                }

                foreach (T childOfChild in FindVisualChildren<T>(child))
                {
                    yield return childOfChild;
                }
            }
        }

我如何使用

var uc = (TabItem)sender;

            foreach (TextBlock textBlock in uc.FindVisualChildren<TextBlock>())
            {
                textBlock.Foreground = Brushes.WhiteSmoke;
            }