private void btnOpenBookEdit_Click(object sender, RoutedEventArgs e)
        {
            WindowBookEdit windowBookEdit = new WindowBookEdit();

            windowBookEdit.Owner = this;
            windowBookEdit.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            if (windowBookEdit.ShowDialog() == true)
            {
                // do save or insert book
            }
        }
        private void BookMouseDoubleClickExecute(object obj)
        {
            WindowBookEdit windowBookEdit = new WindowBookEdit();

            windowBookEdit.DataContext = this;

            if (windowBookEdit.ShowDialog() == true)
            {
                //
            }
        }
        // private void BookEditExecute(object sender, MouseButtonEventArgs e)
        private void BookEditExecute(object obj)
        {
            // 2018-03-22
            // DataGridRow row = ItemsControl.ContainerFromElement((DataGrid)sender, e.OriginalSource as DependencyObject) as DataGridRow;
            // if (row == null) return;

            WindowBookEdit windowBookEdit = new WindowBookEdit();

            // windowBookEdit.Owner = this;
            windowBookEdit.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            windowBookEdit.DataContext           = this;

            /*
             *          // Binding hier erstellen, da das Binding aus XAML hier noch nicht aktiv ist
             *          Binding b = new Binding("Title");
             *          b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
             *          // Vorname ist per default leer. Gleich hier mit einem Error markieren
             *          BindingExpressionBase be = tbxBookTitel.SetBinding(TextBox.TextProperty, b);
             *
             *          tbxBookTitel.Focus();
             */

            // windowBookEdit.tbxBookTitel.Text = "mein Titel";
            bool?dialog = windowBookEdit.ShowDialog();

            if (dialog == true)
            {
                // do save or insert book
            }

            /*
             * DialogResult dr = windowBookEdit.ShowDialog();
             * result = (dr == DialogResult.Cancel)
             * ? null
             * : MyObjectInstance;
             * return dr;
             */

            // using (AuthorBookEntities ctx = new AuthorBookEntities())
            {
                int i = context.SaveChanges();
                //MessageBox.Show("SaveBookExecute i:" + i.ToString());
            }
        }
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.WindowsBookEdit = ((Wpf_EF_Mvvm_sample.WindowBookEdit)(target));
                return;

            case 2:
                this.tbxBookId = ((System.Windows.Controls.TextBox)(target));
                return;

            case 3:
                this.tbxBookAuthor = ((System.Windows.Controls.TextBox)(target));
                return;

            case 4:
                this.tbxBookTitel = ((System.Windows.Controls.TextBox)(target));
                return;

            case 5:
                this.tbxBookDescription = ((System.Windows.Controls.TextBox)(target));
                return;

            case 6:
                this.btnBookDelete = ((System.Windows.Controls.Button)(target));
                return;

            case 7:
                this.btnClose = ((System.Windows.Controls.Button)(target));
                return;

            case 8:
                this.btnSave = ((System.Windows.Controls.Button)(target));
                return;
            }
            this._contentLoaded = true;
        }