如何定位Window内的所有按钮?

时间:2012-12-27 02:24:43

标签: c# wpf button

我的WPF窗口中有几个按钮。我如何定位窗口内的所有按钮,无论它们位于Stack panels还是Dock Panels内。我希望将所有这些目标都定位为能够通过设置更改所有这些背景颜色。

不是针对按钮的每个单独名称,还有另一种方法吗?

2 个答案:

答案 0 :(得分:2)

看一下这个问题Find all controls in WPF Window by type

它显示了如何获取WPF应用程序中的所有控件,然后您可以设置按钮的背景颜色。

foreach (Button btn in FindVisualChildren<Button>(window))
{
    btn.Background = new SolidColorBrush(Colors.Black);
}

FindVisualChildren来自关联的答案。

答案 1 :(得分:2)

为资源中的按钮定义样式,而不提供密钥名称。它将自动应用于窗口中的所有按钮。

 <Style TargetType="{x:Type Button}">
        <Setter Property="Background" Value="Red"/>
    </Style>
希望它有所帮助..