private void TabItem_PreviewMouseMove(object sender, MouseEventArgs e) { if (MovingTabItem != null) { if (e.MouseDevice.LeftButton == MouseButtonState.Released) { MovingTabItem = null; } return; } MovableTabItem item = e.Source as MovableTabItem; if (item == null) { return; } if (e.MouseDevice.LeftButton == MouseButtonState.Pressed) { ScrollViewer sv = App.FindVisualParent <ScrollViewer>(item); if (sv != null && !sv.IsMouseCaptured) { Mouse.Capture(sv); } MovingTabItem = item; } }
private void tabPanelScrollViewer_PreviewMouseUp(object sender, MouseButtonEventArgs e) { ScrollViewer viewer = sender as ScrollViewer; if (viewer != null && viewer.IsMouseCaptured) { viewer.ReleaseMouseCapture(); } MovingTabItem = null; }
private void menuItemAddQuery_Click(object sender, RoutedEventArgs e) { QueryControl c = new QueryControl(); Binding b = new Binding("CurrentDataSet"); b.ElementName = "window"; c.SetBinding(QueryControl.CurrentDataSetProperty, b); TabItem item = MovableTabItem.NewTabItem(tabControlMain, "クエリ " + _queryControlIndex.ToString(), c, FindResource("TabItemStyleClosable") as Style); tabControlMain.SelectedItem = item; _queryControlIndex++; }
public static TabItem NewTabItem(TabControl parent, string header, UIElement element, Style tabItemStyle) { MovableTabItem item = new MovableTabItem(); item.Content = element; item.Header = new TextBlock() { Text = header }; item.Style = tabItemStyle; parent.Items.Add(item); return(item); }
private void tabPanelScrollViewer_PreviewMouseDown(object sender, MouseButtonEventArgs e) { MovingTabItem = null; ScrollViewer viewer = sender as ScrollViewer; HitTestResult ret = VisualTreeHelper.HitTest(viewer, e.MouseDevice.GetPosition(viewer)); if (ret == null) { return; } Control c = App.FindVisualParent <Control>(ret.VisualHit); MovingTabItem = c as MovableTabItem; }
private void window_Initialized(object sender, EventArgs e) { UpdateMenuItemOpenDb(); treeViewItemTop.Items.Clear(); MovableTabItem.RegisterSchemaObjectControl(typeof(Table), typeof(TableControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(View), typeof(ViewControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(Sequence), typeof(SequenceControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(StoredFunction), typeof(StoredProcedureControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(ComplexType), typeof(ComplexTypeControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(PgsqlBasicType), typeof(PgsqlTypeControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(PgsqlEnumType), typeof(PgsqlTypeControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(PgsqlRangeType), typeof(PgsqlTypeControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(PgsqlDatabase), typeof(DatabaseControl)); MovableTabItem.RegisterSchemaObjectControl(typeof(SessionList), typeof(PgsqlSessionListControl)); TitleBase = Title; }
//#pragma warning restore 1998 public void OpenViewer(SchemaObject target) { ISchemaObjectWpfControl curCtl = (tabControlMain.SelectedItem as TabItem)?.Content as ISchemaObjectWpfControl; TabItem item = MovableTabItem.RequireTabItem(target, FindResource("TabItemStyleClosable") as Style, tabControlMain, CurrentDataSet); if (item == null) { return; } if (item.Parent == null) { tabControlMain.Items.Add(item); } tabControlMain.SelectedItem = item; ISchemaObjectWpfControl newCtl = item.Content as ISchemaObjectWpfControl; if (newCtl != null && curCtl != null) { newCtl.SelectedTabKey = curCtl.SelectedTabKey; } }