/AvalonDock

My own development branch of the well known WPF document docking library

Primary LanguageC#MIT LicenseMIT

NuGet AvalonDock
NuGet AvalonDock.Themes.Aero
NuGet AvalonDock.Themes.Expression
NuGet AvalonDock.Themes.Metro
NuGet Dirkster.AvalonDock.Themes.VS2010
NuGet Dirkster.AvalonDock.Themes.VS2013

Master Branch

Build statusRelease Continues Integration

AvalonDock

Support this project with a -report an issue, or even better, place a pull request 📫 😊

My projects Edi and Aehnlich 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:

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. The repository also contains a Log4Net branch for debugging interactive issues with a close enough branch. There are also Log4Net demo executables in the 3.4.01 (or later) realease for additional debugging fun.

Feature Added - Dark and Light VS 2013 Theme

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

Theming

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:

to also theme standard elements, such as, button and textblock etc.

Mile Stone History

Patch History for AvalonDock Version 3.5

In Master branch but not released, yet

  1. Added ca-es localization. Updated es localization. (thanx to xnaval)

  2. Fix Visibility issue on closing LayoutFloatingWindowControl (thanx to scdmitryvodich)

  3. Adding support for Japanes, Korean, and Polish

  4. #42 Fix Dispatcher Suspend Exception issue (thanx to vkotenev-sc, scdmitryvodich)

Fixes in Version 3.5.7

  1. Fix Visibility issues in LayoutFloatingWindowControl (thanx to scdmitryvodich)

  2. Fixed sizing behavior of anchorable panels (thanx to scdmitryvodich)

Fixes in Version 3.5.6

  1. Check in LayoutAnchorable Hide method to avoid null reference exception (thanx to gpetrou)

  2. Check if current application is not null in FocusElementManager (thanx to gpetrou)

  3. Issue solved: Use localized resource instead of constant string in VS 2013 Theme (thanx to RohanTPillai)

Fixes in Version 3.5.5

  1. Improved 2nd Monitor display with maximized Layoutanchorable (toolwindow) and mutliple docked toolwindows inside (thanks to mbullock976 for testing Issues #27)

  2. Bug fix on crash with FloatingLayoutanchorable (floating toolwindow) for Issues #28

Fixes in Version 3.5.4

  1. BugFix Hidden anchorable cannot be shown again (Issue #19)

  2. CanDockAsTabbedDocument (Added drag & drop support of LayoutAnchorable) (Issue #18)

  3. 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
  4. Added zh-Hant localization (thanx to nuthrash

Fixed Crash on IsSelected Document Property

Fixed Issue about PanesTemplateSelector being ignored

Increased to Version 3.5.1

Fixed Close Button Position in Generic Theme

DockingManager: ModelChange event happens before new LayoutDocumentItem is added

Added resource file for AvalonDock for nl-BE

Fixed Crash while loading FLOATING DOCUMENT

Fixed Crash while loading (Deserialize) a layout with FLOATING DOCUMENT window.

NullReferenceException in LayoutDocumentFloatingWindowControl.OnInitialized: Initialization in 2nd constructor was missing: _model = model; UpdateThemeResources();

Removed unused private field in LayoutAutoHideWindowControl

Prevent crash from setting negative size

Fix for issue #1379 as suggested by RecursiveNerd

Update zh-Hans translation #1383

AvalonDock czech localization #1396

AvalonDock fixed misspelling when serializing DockMinWidth/DockMinHeight

Clear Bindings #1360

Theming ContextMenuEx in Metro

Re-styling this in AvalonDock since the menu on the drop-down button for more documents is otherwise black

Drag and Drop on (scaled) 4K display

Drag and Drop of Document or ToolWindow content does not always work on (scaled) 4K display

Crash Loading (Deserialized) Floating Tool Window Layout

Fixed Crash while loading (Deserialize) a layout from FLOATING tool window. NullReferenceException in LayoutAnchorableFloatingWindowControl.OnInitialized

LayoutRoot doesn't notify change for Children or ChildrenCount #1313

Fixed height of titles of floating windows #1203

Initial AvalonDock Version 3.5

Please review the Patch History page for more information on patches for previously released versions of AvalonDock.