Изменить цвет шрифта с помощью WPF Converter - PullRequest
0 голосов
/ 07 января 2019

В мой xaml у меня есть ярлык:

<Label Content="{Binding Path=HSValidation, Converter={StaticResource HSFontConverter}}" />

В конвертере я хочу изменить шрифт метки на «КРАСНЫЙ»:

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 #?

ИЛИ Мне нужно имя свойства моего ярлыка?

1 Ответ

0 голосов
/ 07 января 2019

Преобразователи только преобразуют исходное значение во что-то другое, поэтому вы сможете преобразовать только свойство «Содержимое» во что-то другое с вашей привязкой.

Таким образом, ваш контент должен быть привязан к чему-то, как у вас, а затем свойство «Передний план» должно быть привязано к цвету.

<Label 
    Content="{Binding Path=HSValidation}" 
    Foreground="{Binding Path=HSValidation, Converter={StaticResource HSFontConverter}}" />

Вы должны вернуть Brushes.Red, например, в коде вашего конвертера, и Brush во всех ветвях в конвертере, а не в связанном значении:

public object Convert(
    object value, Type targetType, object parameter, CultureInfo culture)
{           
    if (value != null)
    {
        return Brushes.Red;
    }          

    return Brushes.Black;  
}
...