private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Dictionary <EdgeCompensationMethods, string> EdgeList = new Dictionary <EdgeCompensationMethods, string>();

            EdgeList.Add(EdgeCompensationMethods.None, "None (large borders)");
            EdgeList.Add(EdgeCompensationMethods.AdaptiveZoomAverage, "Adaptive zoom average (some borders)");
            EdgeList.Add(EdgeCompensationMethods.AdaptiveZoomFull, "Adaptive zoom full (no borders)");
            EdgeList.Add(EdgeCompensationMethods.FixedZoom, "Fixed zoom (no borders)");
            EdgeList.Add(EdgeCompensationMethods.AdaptiveZoomAverageFixedZoom, "Adaptive zoom average + fixed zoom (no borders)");
            EdgeCompensationCombo.ItemsSource = EdgeList;

            // We'll edit a copy so that we can detect changes and cancel changes
            bindingSettings        = encodeSettings.DeshakerSettings.Clone();
            bindingSegmentSettings = bindingSettings.Segments[0];
            Pass1Grid.DataContext  = bindingSegmentSettings;
            // Pass 2 will always be bound to the first item
            Pass2Grid.DataContext = bindingSettings;

            StartFramesList.ItemsSource       = bindingSettings.Segments;
            StartFramesList.DisplayMemberPath = "FrameStart";
            StartFramesList.SelectedValuePath = "FrameStart";
            StartFramesList.SelectedValue     = 0;
        }
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     bindingSettings  = encodeSettings.DeshakerSettings.Clone();
     this.DataContext = bindingSettings;
 }