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.
-
Fixed issue #81 with docked pane becomes not visible (overlapped) Thanx to scdmitryvodich
-
Fixed issue #83 with LayoutDocument disappearance Thanx to scdmitryvodich
-
Fixed InvalidOperationException when deserializing layout @dirkster
-
Fixed LayoutRoot implementation of IXmlSerializable.ReadXml to read the end element thanx to prmartinuk
-
selecting a new LayoutAnchorableTabPanel from an auto sized width panel, will no longer undock the LayoutAnchorableTabPanel @dirkster99
-
null checks will now prevent crashes when creating the View @dirkster99 @dirkster99_1
-
LayoutAnchorablePanes now have the possibility to be docked in a LayoutAnchorableFloatingWindow, when hosted in a WinForm @dirkster99
-
LayoutContent.ContentID is now a bindable dependency property (@dirkster99)[https://github.com/Dirkster99/AvalonDock/commit/9fa76a74fae69865d1adfee0dc8865d8085e03e5]
-
floating windows will no longer have blurry buttons (@dirkster99)[https://github.com/Dirkster99/AvalonDock/commit/813f4bae9aa6525fabbe3b045ab968af5d69a276]
-
modifying the theme will now update the side anchored items @dirkster99 @dirkster99_1
-
to improve the performance when the LayoutGridControl is initialized, children are now updated only for DirectChildren changes @dirkster99
-
when the last LayoutDocument is removed, the DockingManager.ActiveContent will no longer have a reference to this last removed LayoutDocument, to prevent a memory leak @dirkster99 @dirkster99_1
-
the DockingManager.AnchorTemplate property will now be applied to LayoutAnchorable controls.
@dirkster99 -
using frame navigation with LayoutAnchorableFloatingWindow will no longer cause a crash.
@dirkster99 -
Removed unused code
@dirkster99
Please review the Path History for more more information on patches in previously released versions of AvalonDock: