от
У меня есть сетка данных, которая AutoScrolls основана на воспроизведении видео (субтитры), которая работает отлично, но я хочу плавную прокрутку (анимация) Я попробовал AniScrollViewer здесь, но он не работает. Никаких исключений или ничего только прокрутка. Что я делаю неправильно?? Обратите внимание, что при печати x и y на консоли были правильно изменены значения y.

                

                    
                        
                        
                        
                        
                            
                                
                                    
                                
                            
                        
                    
                    
                        
                            
                            
                            
                        
                    


                    
                        
                            
                            
                                
                                    
                                        
                                            
                                        
                                    
                                
                            
                            

                                
                                    
                                    
                                
                            
                        
                    
                    
                        
                            
                        
                    

                
            
И код:
DataGridRow row = Grid.ItemContainerGenerator.ContainerFromIndex(scrollindex) as DataGridRow;
Point relativePoint = row.TransformToAncestor(Grid).Transform(new Point(0, 0));
ScrollToPosition(relativePoint.X, relativePoint.Y);
private static void ScrollToPosition(double x, double y)
        {
            DoubleAnimation vertAnim = new DoubleAnimation();
            vertAnim.From = mScrollViewer.VerticalOffset;
            vertAnim.To = y;
            vertAnim.DecelerationRatio = .2;
            vertAnim.Duration = new Duration(TimeSpan.FromMilliseconds(1000));
            Storyboard sb = new Storyboard();
            sb.Children.Add(vertAnim);
            Storyboard.SetTarget(vertAnim, mScrollViewer);
            Storyboard.SetTargetProperty(vertAnim, new PropertyPath(AniScrollViewer.CurrentVerticalOffsetProperty));
            sb.Begin();
        }
             

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...