1
我试图有条件地格式化取决于Text属性文本块,但我不能得到它的工作:基于TextBlock.Text属性的条件样式?
<Style x:Key="StatusEnumTextStyle" TargetType="TextBlock" >
<Style.Triggers>
<DataTrigger Binding="{Binding Text}" Value="InProgress">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
<TextBlock Text="InProgress" Style="{StaticResource StatusEnumTextStyle}"/>
但我得到一个绑定错误:
System.Windows.Data Error: 40 : BindingExpression path error: 'Text' property not found on 'object' ''NotifierViewModel' (HashCode=43600526)'. BindingExpression:Path=Text; DataItem='VM' (HashCode=43600526); target element is 'TextBlock' (Name=''); target property is 'NoTarget' (type 'Object')
嗯,我看该触发器试图获得String.Text,但我怎样才能使用TextBlock的属性为我的触发器?背景:基本上我想要一个基于名为“StatusEnum”的Enum的条件样式,但不依赖于变化的变量名,因为如果期望一个名为“CurrentStatusEnum”的变量,并且如果var名称会有所不同,例如“NewStatusEnum”。诉诸匹配,如“文本”的属性将会允许我使用相同的样式当过我使用的TextBlock