async void item_CommentsRequested(object sender, EventArgs e) { var item = (SampleDataItem)sender; item.CommentsRequested -= item_CommentsRequested; item.Replies.Add(item.ToTopReplyItem()); var localReplies = await localStorageService.LoadReplies(item.MId); if (localReplies != null) { ClearTail(item.Replies); foreach (var localReply in localReplies) { item.Replies.Add(CreateSampleDataReplyItem(item, localReply, null)); } } try { var replies = await client.GetReplies(item.MId); if (replies != null) { ClearTail(item.Replies); foreach (var reply in replies) { var photoUrl = reply.Photo != null ? reply.Photo.Medium : null; var commentItem = CreateSampleDataReplyItem(item, reply, photoUrl); item.Replies.Add(commentItem); } } } catch { // todo: show error message } }