将值从xaml页面后面的代码转移到更改扩展器的前台
本文关键字:扩展器 前台 转移 代码 xaml | 更新日期: 2023-09-27 18:11:36
<Expander x:Name="exp"
IsExpanded="True"
Background= "White"
Foreground="Black">
<Expander.Header>
<TextBlock Text="{Binding Name}" />
</Expander.Header>
<ItemsPresenter />
</Expander>
我想改变前景值从c#代码背后的基础上的一个if条件。我如何从代码后面转移到xaml页面访问它的值?
Code Behind
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>
当Result = "F"时,这将改变整个数据网格行前景。