Гуглил эту проблему часами и не вижу, где я ошибаюсь.
У меня есть следующий преобразователь, который просто возвращает Brushes.Red (также пробовал Colors.Red), но все равно не повезло.
public class ColorConverter : IValueConverter
{
private static ColorConverter instance = new ColorConverter();
public static ColorConverter Instance
{
get
{
return instance;
}
}
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return Brushes.Red;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new Exception("The method or operation is not implemented.");
}
}
Теперь в моем xaml у меня есть следующий код:
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Value}" TextAlignment="Center" Foreground="{Binding Path=color, Converter={x:Static local:ColorConverter.Instance}}" Margin="2"/>
</StackPanel>
Я установил следующее пространство имен вверху:
xmlns:local="clr-namespace:Dashboard"
Теперь у меня есть следующий класс, привязанный к панели стека:
public class MyClass : INotifyPropertyChanged
{
public String Value;
public Color color;
// Declare the PropertyChanged event
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
Привязка данных (значение) работает отлично, но конвертер не хочет запускаться, я пытался установить точку останова в методе Convert ковнертера, но это не срабатывает при отладке, просто кажется, что мой отладчик не вызывается.
Может кто-нибудь пролить некоторый свет на это?