public TimelapseWindow() { InitializeComponent(); //CheckForUpdate.GetAndParseVersion (this, false); ResetDifferenceThreshold(); this.markableCanvas = new MarkableImageCanvas(); this.markableCanvas.HorizontalAlignment = HorizontalAlignment.Stretch; this.markableCanvas.PreviewMouseDown +=new MouseButtonEventHandler(markableCanvas_PreviewMouseDown); this.markableCanvas.MouseEnter += new MouseEventHandler(markableCanvas_MouseEnter); markableCanvas.RaiseMetaTagEvent += new EventHandler<MetaTagEventArgs>(markableCanvas_RaiseMetaTagEvent); this.mainUI.Children.Add(markableCanvas); // Callbacks so the controls will highlight if they are copyable when one enters the btnCopy button this.btnCopy.MouseEnter += btnCopy_MouseEnter; this.btnCopy.MouseLeave += btnCopy_MouseLeave; // Create data controls, including reparenting the copy button from the main window into the my control window. myControls = new Controls(this.dbData); this.ControlGrid.Children.Remove(this.btnCopy); myControls.AddButton(this.btnCopy); // Recall states from prior sessions this.state.audioFeedback = persist.ReadAudioFeedback(); this.state.controlWindowSize = persist.ReadControlWindowSize(); this.MenuItemAudioFeedback.IsChecked = this.state.audioFeedback; this.MenuItemControlsInSeparateWindow.IsChecked = persist.ReadControlWindow(); this.darkPixelThreshold = persist.ReadDarkPixelThreshold(); this.darkPixelRatioThreshold = persist.ReadDarkPixelRatioThreshold(); }