private void Window_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (Keyboard.IsKeyDown(Key.LeftShift)) { if (CurrentArchive.IsReal == false) { // When clicked in emepty area, create a new root node ArchiveNode newNode = CurrentArchive.AddRootNode(DefaultNodeName); // Create a new panel at location VirtualArchivePanel newPanel = new VirtualArchivePanel(new ArchiveNodeRepresentation(newNode)); Point mouse = e.GetPosition(VirtualArchiveCanvas); System.Windows.Controls.Canvas.SetLeft(newPanel, mouse.X); System.Windows.Controls.Canvas.SetTop(newPanel, mouse.Y); VirtualArchiveCanvas.Children.Add(newPanel); } else { (Owner as VirtualWorkspaceWindow).UpdateStatus("Cannot create new root node on an real archive."); } e.Handled = true; } }