c# - 在 Windows 8 中向 groupeditemspage 添加内容

标签 c# windows-8 httpclient

当我创建 GroupedItemsPage 时,它​​有例如 DataModel/SampleDataSource.cs

但我如何添加从 Internet 加载的内容并使用 Fizzler 修改?

 public sealed class SampleDataSource
  {
    string a = "";
    private static SampleDataSource _sampleDataSource = new SampleDataSource();

    private ObservableCollection<SampleDataGroup> _allGroups = new ObservableCollection<SampleDataGroup>();
    public ObservableCollection<SampleDataGroup> AllGroups
    {
        get { return this._allGroups; }
    }

    public static IEnumerable<SampleDataGroup> GetGroups(string uniqueId)
    {
        if (!uniqueId.Equals("AllGroups")) throw new ArgumentException("Only 'AllGroups' is supported as a collection of groups");

        return _sampleDataSource.AllGroups;
    }

    public static SampleDataGroup GetGroup(string uniqueId)
    {
        // Simple linear search is acceptable for small data sets
        var matches = _sampleDataSource.AllGroups.Where((group) => group.UniqueId.Equals(uniqueId));
        if (matches.Count() == 1) return matches.First();
        return null;
    }

    public static SampleDataItem GetItem(string uniqueId)
    {
        // Simple linear search is acceptable for small data sets
        var matches = _sampleDataSource.AllGroups.SelectMany(group => group.Items).Where((item) => item.UniqueId.Equals(uniqueId));
        if (matches.Count() == 1) return matches.First();
        return null;
    }

    public async Task<string> DownloadStringContent()
    {
        HttpClient client = new HttpClient();
        var response = await client.GetAsync(new Uri("http://www.google.com"));
        var result = await response.RequestMessage.Content.ReadAsStringAsync();

        return result;
    }

    public async void setA()
    {
        a = await DownloadStringContent();
        while (a == "") ;
    }

    public SampleDataSource()
    {
        setA();
        String ITEM_CONTENT = a;
        //String ITEM_CONTENT = String.Format("Item Content: {0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}\n\n{0}",
          //          "Curabitur class aliquam vestibulum nam curae maecenas sed integer cras phasellus suspendisse quisque donec dis praesent accumsan bibendum pellentesque condimentum adipiscing etiam consequat vivamus dictumst aliquam duis convallis scelerisque est parturient ullamcorper aliquet fusce suspendisse nunc hac eleifend amet blandit facilisi condimentum commodo scelerisque faucibus aenean ullamcorper ante mauris dignissim consectetuer nullam lorem vestibulum habitant conubia elementum pellentesque morbi facilisis arcu sollicitudin diam cubilia aptent vestibulum auctor eget dapibus pellentesque inceptos leo egestas interdum nulla consectetuer suspendisse adipiscing pellentesque proin lobortis sollicitudin augue elit mus congue fermentum parturient fringilla euismod feugiat");

        var group1 = new SampleDataGroup("Group-1",
                "Group Title: 1",
                "Group Subtitle: 1",
                "Assets/DarkGray.png",
                "Group Description: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus tempor scelerisque lorem in vehicula. Aliquam tincidunt, lacus ut sagittis tristique, turpis massa volutpat augue, eu rutrum ligula ante a ante");
        group1.Items.Add(new SampleDataItem("Group-1-Item-1",
                "Item Title: 1",
                "Item Subtitle: 1",
                "Assets/LightGray.png",
                "Item Description: Pellentesque porta, mauris quis interdum vehicula, urna sapien ultrices velit, nec venenatis dui odio in augue. Cras posuere, enim a cursus convallis, neque turpis malesuada erat, ut adipiscing neque tortor ac erat.",
                ITEM_CONTENT,
                group1));
        group1.Items.Add(new SampleDataItem("Group-1-Item-2",
                "Item Title: 2",
                "Item Subtitle: 2",
                "Assets/DarkGray.png",
                "Item Description: Pellentesque porta, mauris quis interdum vehicula, urna sapien ultrices velit, nec venenatis dui odio in augue. Cras posuere, enim a cursus convallis, neque turpis malesuada erat, ut adipiscing neque tortor ac erat.",
                ITEM_CONTENT,
                group1));
        group1.Items.Add(new SampleDataItem("Group-1-Item-3",
                "Item Title: 3",
                "Item Subtitle: 3",
                "Assets/MediumGray.png",
                "Item Description: Pellentesque porta, mauris quis interdum vehicula, urna sapien ultrices velit, nec venenatis dui odio in augue. Cras posuere, enim a cursus convallis, neque turpis malesuada erat, ut adipiscing neque tortor ac erat.",
                ITEM_CONTENT,
                group1));
        group1.Items.Add(new SampleDataItem("Group-1-Item-4",
                "Item Title: 4",
                "Item Subtitle: 4",
                "Assets/DarkGray.png",
                "Item Description: Pellentesque porta, mauris quis interdum vehicula, urna sapien ultrices velit, nec venenatis dui odio in augue. Cras posuere, enim a cursus convallis, neque turpis malesuada erat, ut adipiscing neque tortor ac erat.",
                ITEM_CONTENT,
                group1));
        group1.Items.Add(new SampleDataItem("Group-1-Item-5",
                "Item Title: 5",
                "Item Subtitle: 5",
                "Assets/MediumGray.png",
                "Item Description: Pellentesque porta, mauris quis interdum vehicula, urna sapien ultrices velit, nec venenatis dui odio in augue. Cras posuere, enim a cursus convallis, neque turpis malesuada erat, ut adipiscing neque tortor ac erat.",
                ITEM_CONTENT,
                group1));
        this.AllGroups.Add(group1);
    }
}

我想通过从 httpclient 下载字符串来修改 SampleDataSource 中的字符串,但是 a 中没有任何内容

我该如何处理?请帮助我

最佳答案

也许阅读 MSDN 文档核心级别..

Web 服务返回 2 模型方法:

  • 普通方法
  • 异步方法

如果要使用异步方法,请在方法中声明标识“async”子句。 如果异步调用 Web 服务方法并且添加“await”子句:WAITING Web 方法响应的方法。此时,不要触及代码行。

构造函数不支持异步子句。

将您的集合绑定(bind)到一个控件。仍在下载以显示控制权。派生您的类 INotifyProperty。

问候。

关于c# - 在 Windows 8 中向 groupeditemspage 添加内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14908913/

相关文章:

C# PostMessage 语法,试图将 WM_CHAR 发布到另一个应用程序窗口

c# - 从集合中查找缺失的日期

C# .NET WPF 应用程序随机挂起 (WgxConnection_ShouldForceSoftwareForGraphicsStreamClient)

c# - 跨多个字符串的不同字符

c# - Windows 应用商店应用增量序列化

android - 如何将图像附件放入 Android 中的 CouchDB?

android - Logcat 在每次 DefaultHttpClient 执行方法调用期间打印 "interface name: null"

java - 获取 http 响应 PHP 和 ANDROID

c# - 在控制台应用程序之外检测指纹读取器输入

c# - Metro 应用程序的 C# Visual Studio 11 中的事件处理程序错误