WPF: Using the Dock Manager to setup layout of the query building area
Last modified:
The code sample below creates a set of visual controls that reproduces the interface of the QueryBuilder control:
using ActiveQueryBuilder.View.WPF.QueryView; queryView = new QueryView { Query = sqlQuery }; var designPaneControl = new DesignPaneControl(); var propertiesBar = GetPanel(new PropertiesBar(), "Properties", Docking.Right); var subQueryNavBar = GetPanel(new SubQueryNavBar(), "Sub-query Stucture", Docking.Right); var dockManager = new DockManager(); dockManager.Children.Add(propertiesBar); dockManager.Children.Add(subQueryNavBar); dockManager.Children.Add(designPaneControl); var splitterRow = new GridSplitter { VerticalAlignment = VerticalAlignment.Top, HorizontalAlignment = HorizontalAlignment.Stretch }; var queryColumnList = new QueryColumnListControl(); queryView.Children.Add(queryColumnList); queryView.Children.Add(splitterRow); queryView.Children.Add(dockManager);
The next piece of code does almost the same, but places the Query Columns List control into the bottom dock panel:
using ActiveQueryBuilder.View.WPF.QueryView; queryView = new QueryView { Query = sqlQuery }; var designPaneControl = new DesignPaneControl(); var propertiesBar = GetPanel(new PropertiesBar(), "Properties", Docking.Right); var subQueryNavBar = GetPanel(new SubQueryNavBar(), "Sub-query Stucture", Docking.Right); var queryColumnListBar = GetPanel(new QueryColumnListControl(), "Query Columns", Docking.Bottom); var dockManager = new DockManager(); dockManager.Children.Add(propertiesBar); dockManager.Children.Add(subQueryNavBar); dockManager.Children.Add(queryColumnListBar ); dockManager.Children.Add(designPaneControl); queryView.Children.Add(dockManager);