在我的xaml中,我有标签:
<Label Content="{Binding Path=HSValidation, Converter={StaticResource HSFontConverter}}" />
到转换器中,我想将标签字体更改为“ RED”:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null)
{
return value; //should be value with changed color
}
return value;
}
我可以只使用C#代码吗?
还是我需要标签的名称属性?
答案 0 :(得分:2)
转换器只能将源值转换为其他值,因此您只能通过绑定将“ Content”属性转换为其他值。
因此,应将内容按原样绑定到某些东西,然后将“前景”属性绑定到颜色。
{
"quality": true,
"tagname": "P1002",
"timestamp": 1543295658092,
"value": 23
}
例如,您应该在转换器代码中返回Brushes.Red,并在转换器的所有分支上返回Brush,而不是绑定值:
<Label
Content="{Binding Path=HSValidation}"
Foreground="{Binding Path=HSValidation, Converter={StaticResource HSFontConverter}}" />