从 xaml 页面后面的代码转移值以更改扩展器前景

Transfer value from code behind in xaml page to change expander foreground

<Expander x:Name="exp" 
          IsExpanded="True"
          Background= "White"
          Foreground="Black">
    <Expander.Header>
        <TextBlock Text="{Binding Name}" />
    </Expander.Header>
        <ItemsPresenter />
</Expander>

我想根据 if 条件从后面的 C# 代码更改前景值。我如何从后面的代码传输值以在 xaml 页面中访问它?

后面的代码将是

exp.Foreground = new SolidColorBrush(Color.Red);

exp.Foreground = Brushes.Blue;

exp.Foreground = new SolidColorBrush(Color.FromArgb(0xFF, 0xFF, 0, 0);

exp.Foreground = System.Windows.SystemColors.ControlLightColor;

以防将来有人需要这个,我已经使用触发器完成了:

        <Style TargetType="DataGridCell">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=Result}" Value="F">
                    <Setter Property="Foreground" Value="Red" />
                    <Setter Property="FontWeight" Value="DemiBold" />
            </DataTrigger>
            </Style.Triggers>
        </Style>

这将在结​​果 = "F" 时更改整个数据网格行的前景。