1

我已经看到了一些如何使用 winforms 执行此操作的示例,但由于 wpf TabItem 没有控件的定义,因此无法使其在 wpf 中工作。这是我现在正在使用的代码,它不起作用。

  TabItem ti = rep1Tab;
                var controls = ti.Controls;
                foreach (var control in controls)
                {
                    //do stuff
                }
4

2 回答 2

3

如果您想要逻辑子代,请使用LogicalTreeHelper.GetChilren()。如果你想要视觉孩子,你可以结合使用VisualTreeHelper.GetChild()和VisualTreeHelper.GetChildrenCount()

于 2010-02-25T06:20:53.453 回答
3

TabItem 通常包含一个容器控件,例如默认的 Grid。您可以尝试遍历该容器控件的子项。

foreach (UIElement element in Grid1.Children)
        {
            //process element
        }

如果必须访问特定控件的属性,则必须转换元素

 foreach (UIElement element in Grid1.Children)
        {
            //process element
            Button btn = (Button)element;
            btn.Content = "Hello World";
        }
于 2010-02-25T07:50:57.333 回答