【问题标题】:ObservableCollection. Help needed可观察的集合。需要帮助
【发布时间】:2011-11-01 11:05:29
【问题描述】:

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

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

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

谢谢, 佩德罗·洛雷斯。

【问题讨论】:

    标签: c# silverlight windows-phone-7


    【解决方案1】:

    尝试如下

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

    您可以使用 FeedItems.Add 方法添加新的 feeditems

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

    【讨论】:

      【解决方案2】:
      ObservableCollection<ItemViewModel> collection = new ObservableCollection<ItemViewModel>();
      bool codeExists = collection.Count(i => i.Code == "MyCode") > 0;
      

      保存数据完全是另一回事。如果您不需要数据库附带的所有功能,您可以利用 Isolated Storage

      【讨论】:

        【解决方案3】:

        你应该在你的对象上实现 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

        祝你好运。

        是的,使用隔离存储在您的 Windows 手机上存储信息。

        【讨论】:

          猜你喜欢
          • 2011-06-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-21
          相关资源
          最近更新 更多