private void OnElementPrepared(Microsoft.UI.Xaml.Controls.ItemsRepeater sender, Microsoft.UI.Xaml.Controls.ItemsRepeaterElementPreparedEventArgs args) { var button = args.Element as Button; var content = button.Content as Grid; var element = button.DataContext as ChatFilterElement; var title = content.Children[1] as TextBlock; var photo = content.Children[0] as ProfilePicture; if (element is FilterChat chat) { title.Text = ViewModel.ProtoService.GetTitle(chat.Chat); photo.Source = PlaceholderHelper.GetChat(ViewModel.ProtoService, chat.Chat, 36); } else if (element is FilterFlag flag) { switch (flag.Flag) { case ChatListFilterFlags.IncludeContacts: title.Text = Strings.Resources.FilterContacts; break; case ChatListFilterFlags.IncludeNonContacts: title.Text = Strings.Resources.FilterNonContacts; break; case ChatListFilterFlags.IncludeGroups: title.Text = Strings.Resources.FilterGroups; break; case ChatListFilterFlags.IncludeChannels: title.Text = Strings.Resources.FilterChannels; break; case ChatListFilterFlags.IncludeBots: title.Text = Strings.Resources.FilterBots; break; case ChatListFilterFlags.ExcludeMuted: title.Text = Strings.Resources.FilterMuted; break; case ChatListFilterFlags.ExcludeRead: title.Text = Strings.Resources.FilterRead; break; case ChatListFilterFlags.ExcludeArchived: title.Text = Strings.Resources.FilterArchived; break; } photo.Source = PlaceholderHelper.GetGlyph(MainPage.GetFilterIcon(flag.Flag), (int)flag.Flag, 36); } //button.Command = ViewModel.OpenChatCommand; //button.CommandParameter = nearby; }
private void UpdateChatInviteLink(ChatInviteLink link, Grid content, uint phase) { if (phase == 0) { var title = content.Children[1] as TextBlock; title.Text = link.InviteLink; } else if (phase == 1) { var subtitle = content.Children[2] as TextBlock; //subtitle.Text = Locale.Declension("InviteLinkCount", member.InviteLinkCount); } else if (phase == 2) { var photo = content.Children[0] as ProfilePicture; photo.Source = PlaceholderHelper.GetGlyph(Icons.Link, 0, 36); } }