Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为WPF中的所有矩形、标签、按钮等元素应用样式或属性_Wpf - Fatal编程技术网

为WPF中的所有矩形、标签、按钮等元素应用样式或属性

为WPF中的所有矩形、标签、按钮等元素应用样式或属性,wpf,Wpf,如何在WPF中选择所有矩形、标签或按钮等元素,以便从代码隐藏中应用属性或为这些元素设置新资源?这可能吗 例如: allRectangleElements.Resources = (ResourceDictionary)FindResource("BlueBrushRect"); 您可以使用FindVisualChildren方法从以下位置迭代所有矩形元素: ResourceDictionary ResourceDictionary=(ResourceDictionary)FindResourc

如何在WPF中选择所有矩形、标签或按钮等元素,以便从代码隐藏中应用属性或为这些元素设置新资源?这可能吗

例如:

allRectangleElements.Resources = (ResourceDictionary)FindResource("BlueBrushRect");

您可以使用FindVisualChildren方法从以下位置迭代所有矩形元素:

ResourceDictionary ResourceDictionary=(ResourceDictionary)FindResource(“BlueBrushRect”);
foreach(FindVisualChildren中的矩形(此))
{
rectangle.Resources=resourceDictionary;
}
其中“this”是我的窗口对象

但是,如果您只想在所有矩形元素上重复使用相同的ResourceDictionary/setter,我建议您使用:


ResourceDictionary resourceDictionary = (ResourceDictionary)FindResource("BlueBrushRect");

foreach (Rectangle rectangle in FindVisualChildren<Rectangle>(this))
{
    rectangle.Resources = resourceDictionary;
}
<Window.Resources>
    <Style TargetType="Rectangle">
        <Style.Resources>
            <ResourceDictionary ... />
        </Style.Resources>
        <Style.Setters>
            <Setter ... />
            <Setter ... />
        </Style.Setters>
    </Style>
</Window.Resources>