0

ユーザー コントロールを含むカスタム ポップアップ ウィンドウを備えた ComboBox を含む WPF ユーザー コントロールを構築しました。内部コントロール (ポップアップ内のコントロール) には、ホスト ページが読み取れるようにメイン ユーザー コントロールで公開したいプロパティがいくつかあります。内部コントロールに書き込みます。

これを行うのに問題があります。私が間違っていることがありますか、それとも私が行っていることは賢明ではありませんか?

敬具 クリスチャン・アンデルセン

4

1 に答える 1

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;
            }
于 2016-09-06T23:47:24.073 に答える