internal void AddVideo(TimeDiffVideoInfoRectVM videoVM)
        {
            VideoInfoRect video = new VideoInfoRect(this.MainGrid, ColWidth);

            video.DataContext = videoVM;
            this.MainGrid.Children.Add(video);
        }
        internal void FormatingVideoInfoRect(VideoInfoRect v, VideoInfoRect prev)
        {
            v.HorizontalAlignment = HorizontalAlignment.Left;
            v.VerticalAlignment   = VerticalAlignment.Top;
            v.Height = v.TextVideoFileName.ActualHeight + v.TextSyncLead.ActualHeight + 10;

            if (prev == null)
            {
                v.Margin = new Thickness(20, 50, 0, 0);
            }
            else
            {
                v.Margin = new Thickness(20, prev.Margin.Top + prev.Height + 10, 0, 0);
            }

            v.Margin = new Thickness(((TimeDiffVideoInfoRectVM)v.DataContext).CurrentPosition * ColWidth + 20, v.Margin.Top, 0, 0);
        }
        public void FormatWindowContent()
        {
            VideoInfoRect PrevVideoInfoRect = null;

            foreach (var item in this.MainGrid.Children)
            {
                VideoInfoRect videoInfoRect = item as VideoInfoRect;
                if (item == null)
                {
                    return;
                }
                FormatingVideoInfoRect(videoInfoRect, PrevVideoInfoRect);
                PrevVideoInfoRect = videoInfoRect;
            }

            ToolsTimer.Delay(() =>
            {
                Width = ColumnStack.ActualWidth + 50;
            }, TimeSpan.FromSeconds(0.1));
        }