0

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

 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 个属性。就像您在文本属性中看到的那样,我将货币与转换器绑定并且它起作用了。

可能是我对“预算指标”的绑定无法发送正确的值吗?

我想要做的是,一旦显示货币,它应该将总数显示为绿色或红色,意味着在预算中还是超出预算?

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

使用视觉工作室 2012/c#/silverlight 5/windows phone8

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

提前致谢!

4

2 回答 2

0

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

你可以。

可能是我对“预算指标”的绑定无法发送正确的值吗?

这是最可能的原因。

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

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

于 2012-12-06T14:08:54.533 回答
0

完全支持绑定多个属性。

这是您应该尝试的:

  • 打开附加了调试器的应用,在 Visual Studio 的输出窗口中查看是否有绑定错误
  • 在转换器中放置一个断点并检查收到的值
于 2012-12-06T14:11:52.643 回答