的ObservableCollection。需要帮助

时间:2011-10-31 19:14:23

标签: c# silverlight windows-phone-7

我正在创建一个应用程序,我需要一个ObservableCollection的帮助。我正在创建一个包含3个内容的列表。代码,标签和链接都在ItemModel中创建。然后我在MainModel中创建了ObservableCollection:

public class MainModel
{
    public ObservableCollection<ItemViewModel> FeedItems { get; set; }
}

我想添加一些东西,但是,如果我只想检查代码是否相同,我如何检查是否已存在某些内容?因为标签和链接是在代码之后提供的。 此外,如果应用关闭等,如何保存数据供以后使用?

谢谢, 佩德罗·洛瑞斯。

3 个答案:

答案 0 :(得分:1)

尝试如下

bool found = FeedItems.Any(myCustomObject => myCustomObject.SomeProperty.Equals(valueToFind));

您可以使用FeedItems。Add方法添加新的Feeditems

将其另存为xml:Create an XML from items in an ObservableCollection

答案 1 :(得分:1)

ObservableCollection<ItemViewModel> collection = new ObservableCollection<ItemViewModel>();
bool codeExists = collection.Count(i => i.Code == "MyCode") > 0;

坚持数据完全是另一回事。如果您不需要数据库附带的所有内容,则可以使用Isolated Storage

答案 2 :(得分:0)

您应该在对象上实现IEquatable。

http://msdn.microsoft.com/en-us/library/ms131187.aspx

public class Item : IEquatable<Item>
{
   ..code goes here..
}

通过这种方式,您可以定义observablecollection或列表中用作唯一键的内容。

这是一个例子:

http://social.msdn.microsoft.com/Forums/en-AU/csharplanguage/thread/e5d3967e-717c-414d-8c26-8a88ac9551af

祝你好运。

是的,使用isolatedstorage在Windows手机上存储信息。