2011-11-03 45 views
0

我有一个带有列表框的Windows Phone 7应用程序。我创建了自己的模板选择器类,根据绑定对象中的项数选择适当的数据模板。它工作正常。但是,我需要的,什么不工作正常,当我更改绑定对象中的项目数,重新加载模板选择器和基于实际数量更新模板。 例如:属性x> 9的ListItem具有红色,当x = < 9时,颜色为绿色。当我用onpage按钮从8改为9时,我需要改变颜色。它不起作用。貌似模板选择器列表框数据模板更新

+0

也许你可以尝试无效控制等迫使它重新绘制本身。 – BigL

+0

我不明白,将值从8更改为9的事件也可以更新模板吗?你可以发布一些代码吗? – abhinav

回答

0

对于你正在尝试做的,我会建议使用IValueConverter

但是,你需要确保物业反映,只调用上的NavigateTo事件... 帮助:)数值,也是可观察的。 (即你需要从它的setter调用OnPropertyChanged)。

但值转换器这样的,应该做的伎俩:

public class IntToColorValueConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if (value is int) 
     { 
      int number = (int)value; 
      if (number < 9) 
       return Colors.Green; 
      else if (number > 9) 
       return Colors.Red; 
     } 

     return value; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     throw new NotImplementedException(); 
    } 
}