如果我正确地理解了你的问题,我认为你和问这个问题的人有着同样的根本问题:
WPF Trigger when property value is greater than a certain amount
不幸的是,这只是链接到另一个论坛帖子:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/a8ad8c14-95aa-4ed4-b806-d0ae874a8d26/
但我在这里总结一下:
如果使用DataTrigger而不是常规触发器,并绑定到头文本,则可以通过IValueConverter运行该值,该值将允许您根据字符串是否有星号将其转换为布尔真/假值。
<TabItem Header="TabItem">
<TabItem.Style>
<Style TargetType="TabItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Header, RelativeSource={RelativeSource Self}, Converter={StaticResource HasAsteriskConverter}}" Value="True">
<Setter Property="Foreground" Value="Blue" />
</DataTrigger>
</Style.Triggers>
</Style>
</TabItem.Style>
<Grid />
</TabItem>
注意,我的示例设置了前景,因为选项卡项样式似乎覆盖了背景值,而这仍然回答了原始问题。