public object Convert(object value, Type targetType, object parameter, string language) { Windows.UI.Xaml.Controls.IconElement icon = new Windows.UI.Xaml.Controls.SymbolIcon() { Symbol = ((bool)value) ? Windows.UI.Xaml.Controls.Symbol.UnFavorite : Windows.UI.Xaml.Controls.Symbol.Favorite, }; return(icon); }
public static async Task MakeLikeAsync(ICanChangeLike like, Windows.UI.Core.CoreDispatcher dispatcher, SymbolIcon like1, SymbolIcon like2) { if (like == null) { return; } bool isReply = like is FeedReplyModel; bool isLike = false; JObject o; if (like.Liked) { o = (JObject) await GetDataAsync(DataUriType.OperateUnlike, true, isReply? "Reply" : string.Empty, like.Id); } else { o = (JObject) await GetDataAsync(DataUriType.OperateLike, true, isReply? "Reply" : string.Empty, like.Id); isLike = true; } await dispatcher?.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { like.Liked = isLike; if (isReply) { like.Likenum = o.ToString().Replace("\"", string.Empty); } else if (o != null) { like.Likenum = o.Value <int>("count").ToString(); } if (like1 != null) { like1.Visibility = isLike ? Visibility.Visible : Visibility.Collapsed; } if (like1 != null) { like2.Visibility = isLike ? Visibility.Collapsed : Visibility.Visible; } }); }
public static async Task MakeLikeAsync(ICanChangeLikModel model, Windows.UI.Core.CoreDispatcher dispatcher, SymbolIcon like, SymbolIcon coloredLike) { if (model == null) { return; } bool isReply = model is FeedReplyModel; var u = UriHelper.GetUri( model.Liked ? UriType.OperateUnlike : UriType.OperateLike, isReply ? "Reply" : string.Empty, model.Id); var(isSucceed, result) = await GetDataAsync(u, true); if (!isSucceed) { return; } var o = (JObject)result; await dispatcher?.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { model.Liked = !model.Liked; if (isReply) { model.Likenum = o.ToString().Replace("\"", string.Empty); } else if (o != null) { model.Likenum = $"{o.Value<int>("count")}"; } if (like != null) { like.Visibility = model.Liked ? Visibility.Visible : Visibility.Collapsed; } if (coloredLike != null) { coloredLike.Visibility = model.Liked ? Visibility.Collapsed : Visibility.Visible; } }); }