Exemple #1
0
        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;
        }
Exemple #2
0
 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);
     }
 }