WPF ContentControl:迭代子控件

Sum*_*pta 2 c# wpf dynamic-ui

我有一个 WPF 窗口,在其中放置了一个 ContentControl,稍后在我的代码中,我使用 XamlReader.Load 函数将字符串读取为 Xaml,并将其放入 ContentControl 中。这样做是为了制作动态 UI。现在一切都已完成,但我想从此控件捕获输入字段值。单击按钮时。

所以,我想做的就是迭代 ContentControl 的子控件。我该怎么做,似乎没有办法迭代它的孩子?任何想法。谢谢。

Nit*_*tin 5

在这里,您可以使用 VisualTreeHelper:

        for (int i = 0; i < VisualTreeHelper.GetChildrenCount(contentControl); i++)
        {
            var child = VisualTreeHelper.GetChild(contentControl, i);
            if(child is ContentPresenter)
            {
                var contentPresenter = child as ContentPresenter;
                for (int j = 0; j < VisualTreeHelper.GetChildrenCount(contentPresenter); j++)
                {
                    var innerChild = VisualTreeHelper.GetChild(contentPresenter, j);
                }

                break;
            }
        }
Run Code Online (Sandbox Code Playgroud)