我有一个全景应用程序,其中一个全景项目是“收藏夹”。我使用了一个带有ItemViewModel和MainViewModel的标准Windows Phone项目。我用一个简单的字符串'Favorite'替换了lineone / two / 3。我实际上从LoadData()函数中的独立存储加载收藏夹数据,并使用:
填充'Items' IsolatedStorageFileStream favoritesFile = store.OpenFile("favorites.txt", FileMode.OpenOrCreate, FileAccess.Read);
string lines;
Items.Clear();
using (StreamReader reader = new StreamReader(favoritesFile))
{
while ((lines = reader.ReadLine()) != null)
{
this.Items.Add(new ItemViewModel() { Favorite = lines });
}
}
我希望不仅可以在此全景项目中查看我的收藏夹,还可以删除它们(当我导航到项目详细信息页面时,会添加一个项目作为收藏夹)。我考虑过两个选项:
对于第一个,我不确定删除项目后如何刷新列表。显然,我无法导航到同一页面:)另外,我怎么能分辨哪个星星对应哪个喜欢的项目,因为喜欢的项目将被绑定在xaml中,如下所示:
<TextBlock Margin="10,10,0,0" Text="{Binding Favorite}" TextWrapping="Wrap" Style="{StaticResource PhoneTextSubtleStyle}" Grid.Column="0" />
<Button Grid.Column="1" Click="FavoriteButton_Click" BorderThickness="0" Height="40">
<Button.Background>
<ImageBrush ImageSource="/WindowsPhonePanoramaApplication2;component/Images/appbar.feature.email.rest.png" Stretch="None" />
</Button.Background>
</Button>
对于第二个,可发现性是一个问题,而且我甚至不知道第三方应用是否支持此功能。我倾向于第一个选项,因为它非常直观。请指教。
答案 0 :(得分:1)
如果您的待办事项列表是一个ObservableCollection,它在更改时发出NotifyPropertyChanged事件,那么您不必担心重新加载自己的列表,数据绑定会自行处理。
对于可发现性,我认为按住很常见。压缩和保持组件(上下文菜单)在Silverlight Toolkit for WP7(http://silverlight.codeplex.com)中免费提供