保留未读项目的RSS阅读器

时间:2012-04-25 06:35:22

标签: windows-phone-7

所以我有一个简单的RSS阅读器,它有一个在应用程序启动时更新的提要。如何添加保持新未读项目的颜色不同的功能?我想让用户看到自上次打开应用程序以来哪些帖子是新的。

1 个答案:

答案 0 :(得分:3)

假设您有类似的模型;

public class RSSItem {
  public bool IsUnread { get; set; }
  public string Title { get; set; }
}

您需要使用ForegroundColor TextBlockIsUnread的{​​{1}}绑定到IValueConverter属性,并返回bool 1}}。所以你的XAML可能看起来像;

Color

不要忘记将<phone:PhoneApplicationPage.Resources> <converters:UnreadForegroundConverter x:Key="UnreadForegroundConverter" /> </phone:PhoneApplicationPage.Resources> <ListBox x:Name="RSSItems"> <DataTemplate> <TextBlock Text="{Binding Title}" Foreground="{Binding IsUnread, Converter={StaticResource UnreadForegroundConverter}}" /> </DataTemplate> </ListBox> 属性添加到您网页的代码中。

然后,您需要实现xmlns:converters来执行布尔颜色转换;

IValueConverter

显然,您需要将列表框public class UnreadForegroundConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if ((bool)value == true) { return Application.Current.Resources["PhoneAccentColor"]; } return Application.Current.Resources["PhoneForegroundColor"]; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } } 绑定到RSSItems的集合。例如

RSSItem

希望有所帮助。