【问题标题】:How do I implement favorites in a windows phone 7 application?如何在 Windows Phone 7 应用程序中实现收藏夹?
【发布时间】:2011-06-06 00:39:37
【问题描述】:

所以我有一个从 XML 文件读取数据的应用程序,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<Countries>
  <Country>
    <Name>Germany</Name>
    <Flag>../Images/Germany.png</Flag>
    <ID>1</ID>
    <Description>Germany Description</Description>
    <Capital>Berlin</Capital>
  </Country>
  <Country>
    <Name>Grece</Name>
    <Flag>../Images/Greece.png</Flag>
    <ID>2</ID>
    <Description>Grece Description</Description>
    <Capital>Athens</Capital>
  </Country>
  ...
</Countries>

此数据存储在 List countryList 中。 country 类包含 Name、Flag 等成员。现在,当在“列表”页面的列表框中显示所有国家/地区时,我添加了能够单击国家/地区名称并被带到“详细信息”页面,我们可以在其中查看“列表”页面上未显示的有关该国家/地区的更多信息。

我想要一个星形图标,这样当用户点击它时,应用程序会将那个国家标记为我的最爱。我怎样才能有效地实现这一点?我想为每个&lt;Country&gt; 设置一个&lt;Favorite&gt;No&lt;/Favorite&gt;,并进行双向绑定,并在应用程序关闭之前将收藏夹数据保存到xml 文件中,作为清理工作的一部分。这是最好的方法吗?有人可以举个例子吗?

【问题讨论】:

    标签: xml list windows-phone-7 favorites


    【解决方案1】:

    你的方法很好。另一种方法是使用新的List 来存储标记为Favourite 的ID's 列表。只需检查列表中的哪些 ID 并在它们旁边显示一个星形图标。

    要保存,您可以使用逗号分隔这些值创建一个简单的文本文件并保存(或简单地序列化列表)。当你需要加载时,你可以加载文件(或反序列化)并将其放回列表中。这将为您节省对 XML 文件的任何 DOM 操作,也意味着您不需要为每个元素存储 &lt;Favorite&gt;No&lt;/Favorite&gt;。

    您可以尝试这两种方法,看看哪一种更有效,但在空间方面,单独的列表会更好。这也会缩短 XML 文件的加载时间。

    【讨论】:

    • 我喜欢将收藏夹保存为单独的 CSV 文件的想法。这样您就可以独立地更新两者,例如添加新的国家,而不必为每个用户升级文件。将静态数据和动态数据分开是一种很好的做法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    相关资源
    最近更新 更多