Example #1
0
 protected override void OnScrollViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     // 始终刷新布局
     InvalidateArrange();
 }
Example #2
0
 private void TextScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     ViewModel.ScaleValue = TextScrollViewer.ZoomFactor;
 }
Example #3
0
 protected virtual void OnViewChanged(ScrollViewer sender, ScrollViewerViewChangedEventArgs args)
 {
 }
Example #4
0
 private void TimeLineScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
 }
Example #5
0
 private void SetsScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     _scrollViewerHorizontalOffset = _setsScroller.HorizontalOffset;
     UpdateScrollViewerShadows();
     UpdateScrollViewerNavigateButtons();
 }
Example #6
0
 private void ScrollingHostViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     Panel.ManipulationMode = ScrollingHost.ZoomFactor == 1 ? ManipulationModes.TranslateY | ManipulationModes.TranslateRailsY | ManipulationModes.System : ManipulationModes.System;
 }
 private void ScrollviewerWithScroll_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     VerticalOffsetDisplayBlock.Text = (sender as Windows.UI.Xaml.Controls.ScrollViewer).VerticalOffset.ToString();
 }
Example #8
0
 private void OnViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     ViewChanged?.Invoke(sender, e);
 }
 private void Viewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     ShowHideTileNavigation();
 }
Example #10
0
        private void _scrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
        {
            UpdateFloatButtonState();

            UpdateLoadingMore();
        }
Example #11
0
 private void Main_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     OnViewChanged(sender, e);
 }
Example #12
0
 private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     zoomFactor = ((ScrollViewer)sender).ZoomFactor;
 }
 private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     VerticalOffset = ScrollViewer.VerticalOffset;
 }
 private void Scroll_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     ChangeBarGridAnima(ref defaultHeight, (sender as ScrollViewer).VerticalOffset);
 }
Example #15
0
        //Updates the Visibility when the user scrolls up or down on the ScrollViewer
        void RelatedScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
        {
            if (!IsViewChangedEnabled)
            {
                return;
            }

            // Partial scroll
            if (e.IsIntermediate)
            {
                // Skip duplicates
                if (BackupVerticalOffset.EqualsWithDelta(RelatedScrollViewer.VerticalOffset, 0.01))
                {
                    return;
                }

                // Only update the visual state if the last change happened more than 100ms ago
                if (LastPartialScrollTime == null)
                {
                    LastPartialScrollTime = DateTime.Now;
                }
                double delta = DateTime.Now.Subtract(LastPartialScrollTime.Value).TotalMilliseconds;
                if (delta > 100)
                {
                    LastPartialScrollTime = DateTime.Now;
                }
                else
                {
                    BackupVerticalOffset = RelatedScrollViewer.VerticalOffset;
                    return;
                }

                // Skip the update if the vertical offset difference is less than 0.1
                if (RelatedScrollViewer.VerticalOffset.EqualsWithDelta(BackupVerticalOffset))
                {
                    return;
                }

                // Update the visual state
                if (RelatedScrollViewer.VerticalOffset > BackupVerticalOffset)
                {
                    IsVisible = false;
                }
                else if (RelatedScrollViewer.VerticalOffset < BackupVerticalOffset || RelatedScrollViewer.VerticalOffset.EqualsWithDelta(0, 0.01))
                {
                    IsVisible = true;
                }
            }
            else
            {
                // Skip duplicates
                if (LastFinalVerticalOffset.EqualsWithDelta(RelatedScrollViewer.VerticalOffset, 0.01))
                {
                    return;
                }

                // Update the visual state when a final scroll gesture happens
                if (LastFinalVerticalOffset > RelatedScrollViewer.VerticalOffset || RelatedScrollViewer.VerticalOffset.EqualsWithDelta(0, 0.01))
                {
                    IsVisible = true;
                }
                else if (LastFinalVerticalOffset < RelatedScrollViewer.VerticalOffset)
                {
                    IsVisible = false;
                }
                LastFinalVerticalOffset = RelatedScrollViewer.VerticalOffset;
            }

            // Save the current vertical offset
            BackupVerticalOffset = RelatedScrollViewer.VerticalOffset;
        }
        private void LoadMore_Changed(object sender, ScrollViewerViewChangedEventArgs e)
        {
            var sv_SP = sender as ScrollViewer;

            if (sv_SP.VerticalOffset == sv_SP.ScrollableHeight)
            {
                var thispage = ResultView.SelectedIndex;
                switch (thispage)
                {
                case 0:
                    lock (o)
                    {
                        if (!SongLoadProgress.IsActive)
                        {
                            SongLoadProgress.IsActive = true;
                            song_page = song_page + 1;
                            Task.Factory.StartNew(async() =>
                            {
                                var data = await GetSongResult(keyword, song_page);
                                await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                                {
                                    foreach (var item in data)
                                    {
                                        SongResultList.Items.Add(item);
                                    }
                                    SongLoadProgress.IsActive = false;
                                });
                            });
                        }
                    }
                    break;

                case 1:
                    lock (o)
                    {
                        if (!MVLoadProgress.IsActive)
                        {
                            MVLoadProgress.IsActive = true;
                            mv_page = mv_page + 1;
                            Task.Factory.StartNew(async() =>
                            {
                                var data = await GetMVResult(keyword, mv_page);
                                await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                                {
                                    foreach (var item in data)
                                    {
                                        MVResultList.Items.Add(item);
                                    }
                                    MVLoadProgress.IsActive = false;
                                });
                            });
                        }
                    }
                    break;

                case 2:
                    lock (o)
                    {
                        if (!AlbumLoadProgress.IsActive)
                        {
                            AlbumLoadProgress.IsActive = true;
                            album_page = album_page + 1;
                            Task.Factory.StartNew(async() =>
                            {
                                var data = await GetAlbumResult(keyword, album_page);
                                await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                                {
                                    foreach (var item in data)
                                    {
                                        AlbumResultList.Items.Add(item);
                                    }
                                    AlbumLoadProgress.IsActive = false;
                                });
                            });
                        }
                    }
                    break;

                case 3:
                    lock (o)
                    {
                        if (!SonglistLoadProgress.IsActive)
                        {
                            SonglistLoadProgress.IsActive = true;
                            songlistpage = songlistpage + 1;
                            Task.Factory.StartNew(async() =>
                            {
                                var data = await GetSonglistResult(keyword, songlistpage);
                                await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                                {
                                    foreach (var item in data)
                                    {
                                        SonglistResultList.Items.Add(item);
                                    }
                                    SonglistLoadProgress.IsActive = false;
                                });
                            });
                        }
                    }
                    break;

                case 4:
                    lock (o)
                    {
                        if (!LrcLoadProgress.IsActive)
                        {
                            LrcLoadProgress.IsActive = true;
                            lrc_page = lrc_page + 1;
                            Task.Factory.StartNew(async() =>
                            {
                                var data = await GetLrcResult(keyword, lrc_page);
                                await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
                                {
                                    foreach (var item in data)
                                    {
                                        LrcResultList.Items.Add(item);
                                    }
                                    LrcLoadProgress.IsActive = false;
                                });
                            });
                        }
                    }
                    break;

                default:
                    break;
                }
            }
        }
Example #17
0
        private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
        {
            var scrollViewer = sender as ScrollViewer;

            UpdateCollapsibleCommandBar(scrollViewer.VerticalOffset);
        }
Example #18
0
 private void MainImageScroller_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     ZoomSlider.Value = ((ScrollViewer)sender).ZoomFactor;
 }
Example #19
0
 private void ScrollViewerNew_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     ScrollViewerOld.ChangeView(ScrollViewerNew.HorizontalOffset, null, null, true);
 }
Example #20
0
 private void ConfigureDeviceScrollViewer_ViewChanged_1(object sender, ScrollViewerViewChangedEventArgs e)
 {
 }
 private void scrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     this.isIntermidiateChange = e.IsIntermediate;
 }
Example #22
0
        private void UpdateHeaderOpacity(object sender, ScrollViewerViewChangedEventArgs e)
        {
            var opacity = 1 - (_mainScrollViewer.VerticalOffset / _screenHeight);

            _headerForeground.Opacity = opacity;
        }
Example #23
0
 private void ScrollingHost_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
 }
Example #24
0
        private async void OnViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
        {
            if (Messages.ScrollingHost.ScrollableHeight - Messages.ScrollingHost.VerticalOffset < 120)
            {
                if (ViewModel.IsFirstSliceLoaded)
                {
                    ViewModel.UpdatingScrollMode = UpdatingScrollMode.KeepLastItemInView;
                }

                Arrow.Visibility = Visibility.Collapsed;
            }
            else
            {
                Arrow.Visibility = Visibility.Visible;
            }

            //if (ViewModel.Peer is TLInputPeerUser)
            //{
            //    lvDialogs.ScrollingHost.ViewChanged -= OnViewChanged;
            //    return;
            //}

            var index0 = _panel.FirstVisibleIndex;
            var index1 = _panel.LastVisibleIndex;

            var show     = false;
            var date     = DateTime.Now;
            var message0 = default(TLMessageCommonBase);

            if (index0 > -1 && index1 > -1 /*&& (index0 != _lastIndex0 || index1 != _lastIndex1)*/ && !e.IsIntermediate)
            {
                var container0 = Messages.ContainerFromIndex(index0);
                if (container0 != null)
                {
                    var item0 = Messages.ItemFromContainer(container0);
                    if (item0 != null)
                    {
                        message0 = item0 as TLMessageCommonBase;
                        var date0 = BindConvert.Current.DateTime(message0.Date);

                        var service0 = message0 as TLMessageService;
                        if (service0 != null)
                        {
                            show = !(service0.Action is TLMessageActionDate);
                        }
                        else
                        {
                            show = true;
                        }

                        date = date0.Date;
                    }
                }

                var messageIds = new TLVector <int>();
                var dialog     = ViewModel.Dialog;

                for (int i = index0; i <= index1; i++)
                {
                    var container = Messages.ContainerFromIndex(i);
                    if (container != null)
                    {
                        var item = Messages.ItemFromContainer(container);
                        if (item != null && item is TLMessageCommonBase commonMessage && !commonMessage.IsOut)
                        {
                            //if (commonMessage.IsUnread)
                            //{
                            //    Debug.WriteLine($"Messager {commonMessage.Id} is unread.");
                            //    ViewModel.MarkAsRead(commonMessage);
                            //}

                            if (commonMessage.IsMentioned && commonMessage.IsMediaUnread)
                            {
                                commonMessage.IsMediaUnread = false;
                                commonMessage.RaisePropertyChanged(() => commonMessage.IsMediaUnread);

                                if (dialog != null)
                                {
                                    dialog.UnreadMentionsCount = Math.Max(0, dialog.UnreadMentionsCount - 1);
                                    dialog.RaisePropertyChanged(() => dialog.UnreadMentionsCount);
                                }

                                messageIds.Add(commonMessage.Id);
                            }
                        }
                    }
                }

                if (messageIds.Count > 0)
                {
                    if (ViewModel.With is TLChannel channel)
                    {
                        ViewModel.ProtoService.ReadMessageContentsAsync(channel.ToInputChannel(), messageIds, null);
                    }
                    else
                    {
                        ViewModel.ProtoService.ReadMessageContentsAsync(messageIds, null);
                    }
                }

                #region OLD

                //////Cache();
                ////Cache(index0 + 1, index1);

                ////var itemsPerGroup = 0;
                ////var compositor = ElementCompositionPreview.GetElementVisual(lvDialogs);
                ////var props = ElementCompositionPreview.GetScrollViewerManipulationPropertySet(lvDialogs.ScrollingHost);

                ////for (int i = index1; i >= index0; i--)
                ////{
                ////    var container = lvDialogs.ContainerFromIndex(i) as ListViewItem;
                ////    if (container != null)
                ////    {
                ////        var item = container.Content as TLMessage;
                ////        if (item != null && (item.IsFirst || i == index0) && (!item.IsOut || item.IsPost))
                ////        {
                ////            var text = "0";
                ////            if (i == 0)
                ////            {
                ////                _wasFirst[i] = true;
                ////                text = "Max(0, Reference.Y + Scrolling.Translation.Y)"; // Compression effect
                ////                text = "0";
                ////            }
                ////            else if (i == index0 && itemsPerGroup > 0)
                ////            {
                ////                _wasFirst[i] = true;
                ////                text = "0";
                ////            }
                ////            else if (i == index0)
                ////            {
                ////                _wasFirst[i] = true;
                ////                text = "Min(0, Reference.Y + Scrolling.Translation.Y)";
                ////            }
                ////            else
                ////            {
                ////                text = "Reference.Y + Scrolling.Translation.Y";
                ////            }

                ////            var visual = ElementCompositionPreview.GetElementVisual(container);
                ////            var offset = visual.Offset;
                ////            if (offset.Y == 0)
                ////            {
                ////                var transform = container.TransformToVisual(lvDialogs);
                ////                var point = transform.TransformPoint(new Point());
                ////                offset = new Vector3(0, (float)point.Y, 0);
                ////            }

                ////            var expression = visual.Compositor.CreateExpressionAnimation(text);
                ////            expression.SetVector3Parameter("Reference", offset); //visual.Offset);
                ////            expression.SetReferenceParameter("Scrolling", props);

                ////            if (_inUse.ContainsKey(i) && _wasFirst.ContainsKey(i) && i != index0)
                ////            {
                ////                _wasFirst.Remove(i);

                ////                var border = _inUse[i] as Border;
                ////                var ellipse = ElementCompositionPreview.GetElementVisual(border.Child);
                ////                ellipse.StopAnimation("Offset.Y");
                ////                ellipse.StartAnimation("Offset.Y", expression);
                ////            }
                ////            else if (!_inUse.ContainsKey(i))
                ////            {
                ////                var ellipse = Push(i, item.FromId ?? 0, item);
                ////                ellipse.StopAnimation("Offset.Y");
                ////                ellipse.StartAnimation("Offset.Y", expression);
                ////            }

                ////            itemsPerGroup = 0;
                ////        }
                ////        else if (item != null && item.IsOut)
                ////        {

                ////        }
                ////        else
                ////        {
                ////            itemsPerGroup++;
                ////        }
                ////    }
                ////}


                #endregion

                //Update();
            }

            if (show)
            {
                var paragraph = new Paragraph();
                paragraph.Inlines.Add(new Run {
                    Text = DateTimeToFormatConverter.ConvertDayGrouping(date)
                });

                DateHeader.DataContext = message0;
                DateHeader.Visibility  = Visibility.Visible;
                DateHeaderLabel.Blocks.Clear();
                DateHeaderLabel.Blocks.Add(paragraph);
            }
            else
            {
                DateHeader.Visibility = Visibility.Collapsed;
            }

            if (e.IsIntermediate == false)
            {
                await Task.Delay(4000);

                DateHeader.Visibility = Visibility.Collapsed;
            }
        }
Example #25
0
 void OnScrollViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     CarouselView.SetIsDragging(e.IsIntermediate);
     CarouselView.IsScrolling = e.IsIntermediate;
 }
 private void Control1_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     ZoomSlider.Value = Control1.ZoomFactor;
 }
Example #27
0
 private void CommentsScrolling(object sender, ScrollViewerViewChangedEventArgs e)
 {
 }
 private void MyScro_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
 }
Example #29
0
 void Sv_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e) => VisibleItems().Play = true;
 private void ScrollViewer_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
 {
     CheckSpyingTicksRequirement();
     SpyAnimatedValues();
 }