需要使用WPF中的控制模板和数据触发器来更改网格中的边框颜色

问题描述

我是WPF的新手。我的项目有一个Grid Control,它的网格控件边框是红色,我只有一个按钮。当我单击按钮时,网格边框颜色将变为绿色。

如何使用带有DataTemplate触发器的控制模板更改为边框颜色。我的目标是使用模板更改边框颜色(不要以编程方式更改) 屏幕快照将被附加。enter image description here

解决方法

您可以创建一个名为IsColorChanged的属性,并将其绑定到您的DataTrigger,然后单击按钮时,在代码端将此布尔型属性设置为true,然后DataTrigger会将您的边框的背景属性设置为绿色。

    <Grid>
        <Border BorderThickness="2" CornerRadius="4">
            <Border.Style>
                <Style TargetType="{x:Type Border}">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding IsColorChanged}" Value="True">
                            <Setter Property="Background" Value="Green"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Border.Style>
        </Border>
    </Grid>