转换器没有显示颜色

时间:2012-12-06 14:02:29

标签: silverlight windows-phone-8 ivalueconverter

嘿伙计们,我有这个转换器:

 public class BudgetIndicatorConverter :IValueConverter
{

    public object Convert(object value, System.Type targetType,
                   object parameter, CultureInfo culture)
    {
        string Indicator = (string)value;
        Brush _brush = new SolidColorBrush();

        if (Indicator == "Green")
        {
            _brush = new SolidColorBrush(Colors.Green);
        }
        else if (Indicator == "Red")
        {
            _brush = new SolidColorBrush(Colors.Red);
        }

        return _brush;
    }


    public object ConvertBack(object value, System.Type targetType,
                  object parameter, CultureInfo culture)
    {
        return null;
    }


}

这是我在Xaml中的绑定:

 <TextBlock TextWrapping="Wrap" Margin="260,120,0,70" FontSize="{StaticResource PhoneFontSizeNormal}"  Foreground="{Binding Data[0].BudgetIndicator, Converter={StaticResource budgetcolor}}" FontFamily="{StaticResource PhoneFontFamilyBold}" Text="{Binding Data[0].TOTAL, Converter={StaticResource convertcurrency}}" TextAlignment="Right"/>

现在,当我运行此文本块时,现在什么也没有显示?我想知道我是否可以在同一个控件上绑定2个属性。 就像你在文本属性中看到的那样,我将货币与转换器绑定起来并且有效。

可能是我对&#34; budgetindicator&#34;无法通过发送正确的价值?

我想要做的是,一旦显示货币,它应该显示总额为绿色还是红色,是指预算还是超出预算?

任何提示或链接将不胜感激

使用visual studio 2012 / c#/ silverlight 5 / windows phone8

如果需要更多的东西来完成答案,请告诉我!

提前感谢!

2 个答案:

答案 0 :(得分:0)

  

我想知道我是否可以在同一个控件上绑定2个属性

你可以。

  

可能是我对&#34; budgetindicator&#34;无法通过发送正确的价值?

这是最可能的原因。

  

任何提示或链接将不胜感激

BudgetIndicatorConverter.Convert方法中放置一个断点,以确保它被调用。然后,逐步执行代码以了解正在进行的操作。 另外,检查输出窗口以查看是否存在与绑定相关的任何错误消息。

答案 1 :(得分:0)

完全支持绑定多个属性。

这是你应该尝试的:

  • 打开附带调试器的应用程序,查看是否存在绑定错误 Visual Studio的输出窗口
  • 在转换器中放置一个断点并检查收到的值