diff --git a/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs b/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs index 9fff4639..ebbf15f0 100644 --- a/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs +++ b/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs @@ -3,6 +3,7 @@ // using System; +using System.ComponentModel; using System.Windows; using System.Windows.Controls; using System.Windows.Media; @@ -52,7 +53,7 @@ namespace ENI2.Controls */ private TextBlock textBlock; - public event EventHandler TabClosing; + public event CancelEventHandler TabClosing; protected Storyboard BlinkTextStoryboard { @@ -142,10 +143,18 @@ namespace ENI2.Controls closeButton.Click += (sender, e) => { - var tabControl = Parent as ItemsControl; - tabControl.Items.Remove(this); + bool abort = false; if (TabClosing != null) - this.TabClosing(this, new EventArgs()); + { + CancelEventArgs cancelEventArgs = new CancelEventArgs(); + this.TabClosing(this, cancelEventArgs); + if (cancelEventArgs.Cancel) abort = true; + } + if (!abort) + { + var tabControl = Parent as ItemsControl; + tabControl.Items.Remove(this); + } }; dockPanel.Children.Add(closeButton); diff --git a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs index 0a4e8bf6..f6948c27 100644 --- a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs @@ -48,6 +48,11 @@ namespace ENI2 internal event DatabaseEntityWatchdog.DatabaseEntityChangedHandler HighlightReset; + public bool HasUnsavedChanges + { + get { return (this.buttonSave.Visibility == Visibility.Visible); } // schwach aber es wird's tun + } + #endregion #region Construction @@ -370,7 +375,6 @@ namespace ENI2 } } } - } #endregion diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml index 07226377..73e594be 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml +++ b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml @@ -94,7 +94,7 @@