Пример #1
0
        private double ComputeScrollVerticalOffset(Lyric lyrics)
        {
            ListViewItem item = (ListViewItem)Main_ListView.ContainerFromItem(lyrics);

            if (item is null)
            {
                return(0);
            }

            var transformToVisual = item.TransformToVisual(Main_ListView);

            return(transformToVisual.TransformPoint(new Point()).Y + (item.ActualHeight / 2) - (Root_Viewer.ActualHeight / 2));
        }
Пример #2
0
        private double GetItemPosition(ISubtitleLineUi line)
        {
            ListViewItem container = Main_ListView.ContainerFromItem(line) as ListViewItem;

            if (container == null)
            {
                return(0);
            }

            var transform = container.TransformToVisual(Main_ListView);

            Point  position = transform.TransformPoint(new Point());
            double result   = (position.Y) + (container.ActualHeight / 2D) - (Root_ScrollViewer.ActualHeight / 2D);

            return(result > 0 ? result : 0);
        }