Dirkster.AvalonDock | |
---|---|
Dirkster.AvalonDock.Themes.Aero | |
Dirkster.AvalonDock.Themes.Expression | |
Dirkster.AvalonDock.Themes.Metro | |
Dirkster.AvalonDock.Themes.VS2010 | |
Dirkster.AvalonDock.Themes.VS2013 |
Support this project with a ⭐ -report an issue, or even better, place a pull request 📫 😊
My projects Edi, Aehnlich, and many others (open source or commercial) are powered by this project.
AvalonDock is a WPF Document and Tool Window layout container that is used to arrange documents and tool windows in similar ways than many well known IDEs, such as, Eclipse, Visual Studio, PhotoShop and so forth. Here are some CodeProject articles:
- AvalonDock [2.0] Tutorial Part 1 - Adding a Tool Window
- AvalonDock [2.0] Tutorial Part 2 - Adding a Start Page
- AvalonDock [2.0] Tutorial Part 3 - AvalonEdit in AvalonDock
- AvalonDock [2.0] Tutorial Part 4 - Integrating AvalonEdit Options
- AvalonDock [2.0] Tutorial Part 5 - Load/Save Layout with De-Referenced DockingManager
This repository contains additional bug fixes and a feature added fork from: https://github.com/xceedsoftware/wpftoolkit
Be sure to checkout the Wiki for more details.
This project supports multitargeting frameworks (NetCore 3 and .Net 4). This means that any commit before Merge pull request #65 from jogibear9988/master should build with Visual Studio 2017 Comunity or higher.
The commit Merge pull request #65 from jogibear9988/master and any commit after requires VS 2019 Community and NetCore 3 Preview 8 (or later) for a succesful build from source.
There is also an open source repository https://github.com/dotnetprojects/WpfExtendedToolkit with a fixed and stable version of all other (other than AvalonDock) components from the WPFToolKit.
Please review the Project Wiki to see more demo screenshots. All screenshots below are from the MLib based VS 2013 Dark (Accent Color Gold)/Light (Accent Color Blue) theme on Windows 10. Similar theming results should be possible with other theming libraries since the implementation follow these guidelines.
The Docking Buttons are defined in XAML, which ensures a good looking image on all resolutions, even 4K or 8K, and enables us to color theme consistently with the Window 10 Accent Color.
Description | Dark | Light |
Dock Document | ![]() |
![]() |
Dock Document | ![]() |
![]() |
Dock Tool Window | ![]() |
![]() |
Document | ![]() |
![]() |
Tool Window | ![]() |
![]() |
Using the Xceed.Wpf.AvalonDock.Themes.VS2013 theme is very easy with Dark and Light themes. Just load Light or Dark brush resources in you resource dictionary to take advantage of existing definitions.
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Xceed.Wpf.AvalonDock.Themes.VS2013;component/DarkBrushs.xaml" />
</ResourceDictionary.MergedDictionaries>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Xceed.Wpf.AvalonDock.Themes.VS2013;component/LightBrushs.xaml" />
</ResourceDictionary.MergedDictionaries>
These definitions do not theme all controls used within this library. You should use a standard theming library, such as:
- MahApps.Metro,
- MLib, or
- MUI
to also theme standard elements, such as, button and textblock etc.
-
#61 Repeatedly pressing Ctrl-Tab gets stuck at the bottom of the list of LayoutItems (thanx to Darren Gosbell)
-
#65 Support NetCore 3 based on Preview 8 (thanx to Jochen Kühner)
-
#58 The minimum sizes of LayoutAnchorablePane children is based on DockMinSizes (DockMinWidth, DockMinHeight) (thanx to scdmitryvodich)
-
#60 Fix visibility bindings of undocked panels in specific cases (thanx to scdmitryvodich)
-
Made calculating of DockMinSize for panel based on children DockMinSize (thanx to scdmitryvodich)
-
Fixing Issue 53 Can hide LayoutAnchorable using Alt+F4 when CanHide is false
- Including:
- Fix 2 in #53 NullReferenceException
- Fix 3 in #53 System.ArgumentOutOfRangeException
- Including:
-
Fixing Issue #38 and #47
-
Small breaking change in Dirkster.AvalonDock.Themes.VS2013, Renamed DockingButtonForegroundArrowBrusKey to DockingButtonForegroundArrowBrushKey (thanx to VNNCC)
-
Fix on FloatingWindow visibility when loading/unloading DockingManager control (thanx to scdmitryvodich)
- @dirkster #51 related to #36
-
Added ca-es localization. Updated es localization. (thanx to xnaval)
-
Fix Visibility issue on closing LayoutFloatingWindowControl (thanx to scdmitryvodich)
-
Adding support for Japanes, Korean, and Polish
-
#42 Fix Dispatcher Suspend Exception issue (thanx to vkotenev-sc, scdmitryvodich)
#46 Check if we are not on the UI thread before doing Dispatcher.Invoke (thanx to dgosbell, vkotenev-sc)
-
Fix Visibility issues in LayoutFloatingWindowControl (thanx to scdmitryvodich)
-
Fixed sizing behavior of anchorable panels (thanx to scdmitryvodich)
-
Check in LayoutAnchorable Hide method to avoid null reference exception (thanx to gpetrou)
-
Check if current application is not null in FocusElementManager (thanx to gpetrou)
-
Issue solved: Use localized resource instead of constant string in VS 2013 Theme (thanx to RohanTPillai)
-
Improved 2nd Monitor display with maximized Layoutanchorable (toolwindow) and mutliple docked toolwindows inside (thanks to mbullock976 for testing Issues #27)
-
Bug fix on crash with FloatingLayoutanchorable (floating toolwindow) for Issues #28
-
BugFix Hidden anchorable cannot be shown again (Issue #19)
- Plus start of Test Automation Client (thanx to cswangrf)
- @Dirkster99
-
CanDockAsTabbedDocument (Added drag & drop support of LayoutAnchorable) (Issue #18)
-
Improved support for LayoutAnchorableFloatingWindow (floating tool window) on 2nd screen (Issue #20)
- Added Reload of floating LayoutAnchable when maximized on 2nd screen
- Added repositioning of floating LayoutAnchable when:
- 2nd Monitor is not available or
- changed resolution puts floating LayoutAnchable out of bounds
- (thanx to madenaras)
- @Dirkster99
- #1481
- @Dirkster99 Also Increased to Version 3.5.3.
- #1440
- @Dirkster99 Also Increased to Version 3.5.2.
Fixed Crash while loading (Deserialize) a layout with FLOATING DOCUMENT window.
NullReferenceException in LayoutDocumentFloatingWindowControl.OnInitialized: Initialization in 2nd constructor was missing: _model = model; UpdateThemeResources();
Re-styling this in AvalonDock since the menu on the drop-down button for more documents is otherwise black
Drag and Drop of Document or ToolWindow content does not always work on (scaled) 4K display
Fixed Crash while loading (Deserialize) a layout from FLOATING tool window. NullReferenceException in LayoutAnchorableFloatingWindowControl.OnInitialized
Please review the Patch History page for more information on patches for previously released versions of AvalonDock.