几个小时以来一直在谷歌上搜索这个问题,但看不到我哪里出错了。
我有以下转换器,它也只返回 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 方法中设置一个断点,但是在调试时不会触发,看起来好像我的调试器没有被调用。
任何人都可以对此有所了解吗?