Example #1
0
        private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems?.Count > 0)
            {
                var container = ScrollingHost.ContainerFromItem(e.AddedItems[0]) as SelectorItem;

                var content = container?.ContentTemplateRoot as PremiumFeatureCell;
                if (content != null)
                {
                    content.PlayAnimation();
                }

                _protoService.Send(new ViewPremiumFeature(e.AddedItems[0] as PremiumFeature));
            }

            if (e.RemovedItems?.Count > 0)
            {
                var container = ScrollingHost.ContainerFromItem(e.RemovedItems[0]) as SelectorItem;

                var content = container?.ContentTemplateRoot as PremiumFeatureCell;
                if (content != null)
                {
                    content.StopAnimation();
                }
            }
        }
Example #2
0
        public void UpdateFile(Telegram.Td.Api.File file)
        {
            foreach (MessageSender sender in ScrollingHost.Items)
            {
                if (ViewModel.CacheService.TryGetUser(sender, out User user) && user.UpdateFile(file))
                {
                    var container = ScrollingHost.ContainerFromItem(sender) as SelectorItem;
                    if (container == null)
                    {
                        return;
                    }

                    var content = container.ContentTemplateRoot as Grid;

                    var photo = content.Children[0] as ProfilePicture;
                    photo.Source = PlaceholderHelper.GetUser(null, user, 36);
                }
                else if (ViewModel.CacheService.TryGetChat(sender, out Chat chat) && chat.UpdateFile(file))
                {
                    var container = ScrollingHost.ContainerFromItem(sender) as SelectorItem;
                    if (container == null)
                    {
                        return;
                    }

                    var content = container.ContentTemplateRoot as Grid;

                    var photo = content.Children[0] as ProfilePicture;
                    photo.Source = PlaceholderHelper.GetChat(null, chat, 36);
                }
            }
        }
Example #3
0
        public void UpdateFile(Telegram.Td.Api.File file)
        {
            foreach (User user in ScrollingHost.Items)
            {
                if (user.UpdateFile(file))
                {
                    var container = ScrollingHost.ContainerFromItem(user) as SelectorItem;
                    if (container == null)
                    {
                        return;
                    }

                    var content = container.ContentTemplateRoot as Grid;

                    var photo = content.Children[0] as ProfilePicture;
                    photo.Source = PlaceholderHelper.GetUser(null, user, 36);
                }
            }
        }