示例#1
0
        public AnimationDrawer()
        {
            InitializeComponent();

            _handler = new AnimatedListHandler(List);

            _zoomer              = new ZoomableListHandler(List);
            _zoomer.Opening      = _handler.UnloadVisibleItems;
            _zoomer.Closing      = _handler.ThrottleVisibleItems;
            _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32);
            _zoomer.SessionId    = () => ViewModel.ProtoService.SessionId;

            ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip();

            var header = DropShadowEx.Attach(Separator);

            header.Clip = header.Compositor.CreateInsetClip(0, 48, 0, -48);

            var debouncer = new EventDebouncer <TextChangedEventArgs>(Constants.TypingTimeout, handler => FieldAnimations.TextChanged += new TextChangedEventHandler(handler));

            debouncer.Invoked += (s, args) =>
            {
                ViewModel.Search(FieldAnimations.Text);
            };
        }
示例#2
0
        public StickerDrawer()
        {
            InitializeComponent();

            ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip();

            _handler = new AnimatedListHandler <StickerViewModel>(Stickers);
            _handler.DownloadFile = (id, sticker) =>
            {
                DownloadFile(_stickers, id, sticker);
            };

            _zoomer              = new ZoomableListHandler(Stickers);
            _zoomer.Opening      = _handler.UnloadVisibleItems;
            _zoomer.Closing      = _handler.ThrottleVisibleItems;
            _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32);

            //_toolbarHandler = new AnimatedStickerHandler<StickerSetViewModel>(Toolbar);

            var shadow = DropShadowEx.Attach(Separator, 20, 0.25f);

            shadow.RelativeSizeAdjustment = Vector2.One;

            var observable = Observable.FromEventPattern <TextChangedEventArgs>(FieldStickers, "TextChanged");
            var throttled  = observable.Throttle(TimeSpan.FromMilliseconds(Constants.TypingTimeout)).ObserveOnDispatcher().Subscribe(async x =>
            {
                var items = ViewModel.SearchStickers;
                if (items != null && string.Equals(FieldStickers.Text, items.Query))
                {
                    await items.LoadMoreItemsAsync(1);
                    await items.LoadMoreItemsAsync(2);
                }
            });
        }
示例#3
0
        public InlineBotResultsView()
        {
            InitializeComponent();

            _handler = new AnimatedListHandler(ScrollingHost);

            _zoomer              = new ZoomableListHandler(ScrollingHost);
            _zoomer.Opening      = _handler.UnloadVisibleItems;
            _zoomer.Closing      = _handler.ThrottleVisibleItems;
            _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32);
            _zoomer.SessionId    = () => ViewModel.ProtoService.SessionId;
        }
示例#4
0
        private StickerSetPopup()
        {
            InitializeComponent();
            DataContext = TLContainer.Current.Resolve <StickerSetViewModel>();

            _handler = new AnimatedListHandler <Sticker>(List);
            _handler.DownloadFile = (id, sticker) =>
            {
                ViewModel.ProtoService.DownloadFile(id, 1);
            };

            _zoomer              = new ZoomableListHandler(List);
            _zoomer.Opening      = _handler.UnloadVisibleItems;
            _zoomer.Closing      = _handler.ThrottleVisibleItems;
            _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32);

            SecondaryButtonText = Strings.Resources.Close;
        }
示例#5
0
        public StickerDrawer()
        {
            InitializeComponent();

            ElementCompositionPreview.GetElementVisual(this).Clip = Window.Current.Compositor.CreateInsetClip();

            _handler        = new AnimatedListHandler(List);
            _toolbarHandler = new AnimatedListHandler(Toolbar);

            _zoomer              = new ZoomableListHandler(List);
            _zoomer.Opening      = _handler.UnloadVisibleItems;
            _zoomer.Closing      = _handler.ThrottleVisibleItems;
            _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32);
            _zoomer.SessionId    = () => ViewModel.ProtoService.SessionId;

            _typeToItemHashSetMapping.Add("AnimatedItemTemplate", new HashSet <SelectorItem>());
            _typeToItemHashSetMapping.Add("VideoItemTemplate", new HashSet <SelectorItem>());
            _typeToItemHashSetMapping.Add("ItemTemplate", new HashSet <SelectorItem>());

            _typeToTemplateMapping.Add("AnimatedItemTemplate", Resources["AnimatedItemTemplate"] as DataTemplate);
            _typeToTemplateMapping.Add("VideoItemTemplate", Resources["VideoItemTemplate"] as DataTemplate);
            _typeToTemplateMapping.Add("ItemTemplate", Resources["ItemTemplate"] as DataTemplate);

            //_toolbarHandler = new AnimatedStickerHandler<StickerSetViewModel>(Toolbar);

            var header = DropShadowEx.Attach(Separator);

            header.Clip = header.Compositor.CreateInsetClip(0, 48, 0, -48);

            var debouncer = new EventDebouncer <TextChangedEventArgs>(Constants.TypingTimeout, handler => FieldStickers.TextChanged += new TextChangedEventHandler(handler));

            debouncer.Invoked += async(s, args) =>
            {
                var items = ViewModel.SearchStickers;
                if (items != null && string.Equals(FieldStickers.Text, items.Query))
                {
                    await items.LoadMoreItemsAsync(1);

                    await items.LoadMoreItemsAsync(2);
                }
            };
        }
        private StickerSetPopup()
        {
            InitializeComponent();
            DataContext = TLContainer.Current.Resolve <StickerSetViewModel>();

            _handler = new AnimatedListHandler <Sticker>(List);

            _zoomer              = new ZoomableListHandler(List);
            _zoomer.Opening      = _handler.UnloadVisibleItems;
            _zoomer.Closing      = _handler.ThrottleVisibleItems;
            _zoomer.DownloadFile = fileId => ViewModel.ProtoService.DownloadFile(fileId, 32);

            _typeToItemHashSetMapping.Add("AnimatedItemTemplate", new HashSet <SelectorItem>());
            _typeToItemHashSetMapping.Add("ItemTemplate", new HashSet <SelectorItem>());

            _typeToTemplateMapping.Add("AnimatedItemTemplate", Resources["AnimatedItemTemplate"] as DataTemplate);
            _typeToTemplateMapping.Add("ItemTemplate", Resources["ItemTemplate"] as DataTemplate);

            SecondaryButtonText = Strings.Resources.Close;
        }