конвертер не показывает цвет

Привет, ребята, у меня есть конвертер:

 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 свойства с одним и тем же элементом управления. как вы можете видеть в текстовом свойстве, я привязываю валюту к конвертеру, и это сработало.

Может быть, моя привязка к «budgetindicator» не могла передать правильное значение?

что я хочу сделать, так это после отображения валюты общая сумма должна отображаться зеленым или красным цветом, что означает бюджет или превышение бюджета?

любые советы или ссылки будут оценены

с помощью Visual Studio 2012 / c # / silverlight 5 / windows phone8

если для полного ответа необходимо что-то еще, пожалуйста, дайте мне знать!

заранее спасибо!


person Arrie    schedule 06.12.2012    source источник
comment
Работает ли привязка, если у вас не установлен конвертер?   -  person robertk    schedule 06.12.2012


Ответы (2)


Я хочу знать, могу ли я связать 2 свойства с одним и тем же элементом управления

Ты сможешь.

Может быть, моя привязка к «budgetindicator» не могла передать правильное значение?

Это наиболее вероятная причина.

любые советы или ссылки будут оценены

Поместите точку останова в метод BudgetIndicatorConverter.Convert, чтобы убедиться, что он вызывается. Затем пошагово выполните код, чтобы понять, что происходит. Кроме того, проверьте окно вывода, чтобы увидеть, есть ли сообщение об ошибке, связанное с привязкой.

person Kevin Gosse    schedule 06.12.2012

Привязка нескольких свойств полностью поддерживается.

Вот что стоит попробовать:

  • Откройте приложение с подключенным отладчиком и посмотрите, есть ли ошибки привязки в окне вывода Visual Studio.
  • Установите точку останова в своем конвертере и проверьте полученные значения
person Olivier Payen    schedule 06.12.2012