2011-11-03 43 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(); 
    } 
}