在“ System.Windows.Controls.Grid”类型上找不到模板属性“ Foreground”

问题描述

我正在尝试在Tab控件的ControlTemplate触发器中添加属性“前景”:

                                <ControlTemplate.Triggers>
                                    <Trigger Property="IsSelected" Value="True">
                                        <Setter TargetName="Panel" Property="Background" Value="LightSkyBlue" />
                                    </Trigger>
                                    <Trigger Property="IsSelected" Value="False">
                                        <Setter TargetName="Panel" Property="Background" Value="Gray" />
                                        <Setter  Property="Foreground" TargetName="Panel" Value="White"/>
                                    </Trigger>
                                </ControlTemplate.Triggers>
                            </ControlTemplate>

错误找不到类型为'System.Windows.Controls.Grid'的模板属性'Foreground'。

这是怎么了?

解决方法

我通过添加错误来解决:

 <Setter Property="TextElement.Foreground" TargetName="Panel" Value="White"></Setter>

因此完整的代码将是:

                  <ControlTemplate.Triggers>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter TargetName="Panel" Property="Background" Value="LightSkyBlue" />
                            </Trigger>
                            <Trigger Property="IsSelected" Value="False">
                                <Setter TargetName="Panel" Property="Background" Value="Gray" />
 <Setter Property="TextElement.Foreground" TargetName="Panel" Value="White"/>

                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>