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
如果需要更多的东西来完成答案,请告诉我!
提前感谢!
答案 0 :(得分:0)
我想知道我是否可以在同一个控件上绑定2个属性
你可以。
可能是我对&#34; budgetindicator&#34;无法通过发送正确的价值?
这是最可能的原因。
任何提示或链接将不胜感激
在BudgetIndicatorConverter.Convert
方法中放置一个断点,以确保它被调用。然后,逐步执行代码以了解正在进行的操作。
另外,检查输出窗口以查看是否存在与绑定相关的任何错误消息。
答案 1 :(得分:0)
完全支持绑定多个属性。
这是你应该尝试的: