Browse Source

V4.0.0 Released

pull/1622/head
Simon Boucher 6 years ago
parent
commit
1df13d45e1
  1. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs
  2. 24
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs
  3. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml
  4. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs
  5. 9
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Properties/AssemblyInfo.cs
  6. 487
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml
  7. 14
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Xceed.Wpf.AvalonDock.Themes.Aero.csproj
  8. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml
  9. 24
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs
  10. 9
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Properties/AssemblyInfo.cs
  11. 511
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml
  12. 14
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Xceed.Wpf.AvalonDock.Themes.Metro.csproj
  13. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml
  14. 9
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Properties/AssemblyInfo.cs
  15. 488
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml
  16. 24
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs
  17. 14
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Xceed.Wpf.AvalonDock.Themes.VS2010.csproj
  18. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Commands/RelayCommand.cs
  19. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneControlOverlayArea.cs
  20. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneDropTarget.cs
  21. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTabPanel.cs
  22. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs
  23. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AutoHideWindowManager.cs
  24. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/BindingHelper.cs
  25. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ContextMenuEx.cs
  26. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerDropTarget.cs
  27. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerOverlayArea.cs
  28. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneControlOverlayArea.cs
  29. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropAsAnchorableTarget.cs
  30. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs
  31. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneGroupDropTarget.cs
  32. 13
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneTabPanel.cs
  33. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs
  34. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropArea.cs
  35. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownButton.cs
  36. 9
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownControlArea.cs
  37. 12
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTarget.cs
  38. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetBase.cs
  39. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetType.cs
  40. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Extentions.cs
  41. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FocusElementManager.cs
  42. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FullWeakDictionary.cs
  43. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IDropTarget.cs
  44. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindow.cs
  45. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowArea.cs
  46. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowDropTarget.cs
  47. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowHost.cs
  48. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorControl.cs
  49. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorGroupControl.cs
  50. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorSideControl.cs
  51. 15
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableControl.cs
  52. 170
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs
  53. 18
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs
  54. 28
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs
  55. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneGroupControl.cs
  56. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs
  57. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs
  58. 103
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs
  59. 36
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs
  60. 45
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs
  61. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentItem.cs
  62. 92
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs
  63. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneGroupControl.cs
  64. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs
  65. 321
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs
  66. 23
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs
  67. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridResizerControl.cs
  68. 33
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs
  69. 15
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutPanelControl.cs
  70. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/MenuItemEx.cs
  71. 67
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/NavigatorWindow.cs
  72. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayArea.cs
  73. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs
  74. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTarget.cs
  75. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTargetType.cs
  76. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ReentrantFlag.cs
  77. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ComGuids.cs
  78. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Debug.cs
  79. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DoubleUtil.cs
  80. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DpiHelper.cs
  81. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ErrorCodes.cs
  82. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/MessageWindow.cs
  83. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/NativeMethods.cs
  84. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ShellProvider.cs
  85. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/StreamHelper.cs
  86. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Utilities.cs
  87. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Verify.cs
  88. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemCommands.cs
  89. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemParameters2.cs
  90. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChrome.cs
  91. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChromeWorker.cs
  92. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/TransformExtentions.cs
  93. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WeakDictionary.cs
  94. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowActivateEventArgs.cs
  95. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowHookHandler.cs
  96. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/ActivateCommandLayoutItemFromLayoutModelConverter.cs
  97. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToAngleConverter.cs
  98. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToOrientationConverter.cs
  99. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorableContextMenuHideVisibilityConverter.cs
  100. 7
      ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AutoHideCommandLayoutItemFromLayoutModelConverter.cs

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroColors.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

24
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/AeroTheme.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -21,13 +22,16 @@ using System.Text;
namespace Xceed.Wpf.AvalonDock.Themes namespace Xceed.Wpf.AvalonDock.Themes
{ {
public class AeroTheme : Theme public class AeroTheme : Theme
{
public override Uri GetResourceUri()
{ {
public override Uri GetResourceUri() string assemblyName = "Xceed.Wpf.AvalonDock.Themes.Aero";
{
return new Uri(
"/Xceed.Wpf.AvalonDock.Themes.Aero;component/Theme.xaml", return new Uri(
UriKind.Relative); "/" + assemblyName + ";component/Theme.xaml",
} UriKind.Relative );
} }
}
} }

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Brushes.xaml

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Controls/SplineBorder.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

9
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Properties/AssemblyInfo.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -30,7 +31,7 @@ using System;
[assembly: AssemblyCompany( "Xceed Software Inc." )] [assembly: AssemblyCompany( "Xceed Software Inc." )]
[assembly: AssemblyProduct( "Xceed Toolkit for WPF - AvalonDock" )] [assembly: AssemblyProduct( "Xceed Toolkit for WPF - AvalonDock" )]
[assembly: AssemblyCopyright( "Copyright (C) Xceed Software Inc. 2007-2019" )] [assembly: AssemblyCopyright( "Copyright (C) Xceed Software Inc. 2007-2020" )]

487
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -16,15 +17,13 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localThemes="clr-namespace:Xceed.Wpf.AvalonDock.Themes" xmlns:shell="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDock="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDock="clr-namespace:Xceed.Wpf.AvalonDock;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockControls="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockLayout="clr-namespace:Xceed.Wpf.AvalonDock.Layout;assembly=Xceed.Wpf.AvalonDock"
xmlns:avalonDockControls="clr-namespace:Xceed.Wpf.AvalonDock.Controls;assembly=Xceed.Wpf.AvalonDock"
xmlns:avalonDockAero="clr-namespace:Xceed.Wpf.AvalonDock.Themes" xmlns:avalonDockAero="clr-namespace:Xceed.Wpf.AvalonDock.Themes"
xmlns:avalonDockThemeControls="clr-namespace:Xceed.Wpf.AvalonDock.Themes.Controls" xmlns:avalonDockThemeControls="clr-namespace:Xceed.Wpf.AvalonDock.Themes.Controls"
xmlns:avalonDockConverters="clr-namespace:Xceed.Wpf.AvalonDock.Converters;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockConverters="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockProperties="clr-namespace:Xceed.Wpf.AvalonDock.Properties;assembly=Xceed.Wpf.AvalonDock"> xmlns:avalonDockProperties="http://schemas.xceed.com/wpf/xaml/avalondock">
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Brushes.xaml" /> <ResourceDictionary Source="Brushes.xaml" />
@ -43,6 +42,10 @@
<avalonDockControls:LayoutDocumentControl Model="{Binding}" /> <avalonDockControls:LayoutDocumentControl Model="{Binding}" />
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="AnchorablePaneControlContentTemplate">
<avalonDockControls:LayoutAnchorableControl Model="{Binding}" />
</DataTemplate>
<!--DocumentPaneControlStyle--> <!--DocumentPaneControlStyle-->
<Style x:Key="AvalonDock_ThemeAero_DocumentPaneControlStyle" <Style x:Key="AvalonDock_ThemeAero_DocumentPaneControlStyle"
TargetType="{x:Type avalonDockControls:LayoutDocumentPaneControl}"> TargetType="{x:Type avalonDockControls:LayoutDocumentPaneControl}">
@ -76,7 +79,8 @@
IsItemsHost="true" IsItemsHost="true"
Margin="4,0,16,0" Margin="4,0,16,0"
Grid.Row="0" Grid.Row="0"
KeyboardNavigation.TabIndex="1" /> KeyboardNavigation.TabIndex="1"
KeyboardNavigation.DirectionalNavigation="Cycle"/>
<avalonDockControls:DropDownButton x:Name="MenuDropDownButton" <avalonDockControls:DropDownButton x:Name="MenuDropDownButton"
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}" Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"
Focusable="False" Focusable="False"
@ -127,6 +131,7 @@
CornerRadius="2"> CornerRadius="2">
<ContentPresenter x:Name="PART_SelectedContentHost" <ContentPresenter x:Name="PART_SelectedContentHost"
ContentSource="SelectedContent" ContentSource="SelectedContent"
ContentTemplate="{TemplateBinding ContentTemplate}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border> </Border>
</Border> </Border>
@ -206,8 +211,7 @@
BorderThickness="0,1,1,0" BorderThickness="0,1,1,0"
CornerRadius="0,2,0,0"> CornerRadius="0,2,0,0">
<Border x:Name="BdInternal" <Border x:Name="BdInternal"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}">
Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Content" <ContentPresenter x:Name="Content"
ContentSource="Header" ContentSource="Header"
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
@ -320,6 +324,7 @@
KeyboardNavigation.TabNavigation="Cycle"> KeyboardNavigation.TabNavigation="Cycle">
<ContentPresenter x:Name="PART_SelectedContentHost" <ContentPresenter x:Name="PART_SelectedContentHost"
ContentSource="SelectedContent" ContentSource="SelectedContent"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="{TemplateBinding Padding}" Margin="{TemplateBinding Padding}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border> </Border>
@ -328,6 +333,7 @@
IsItemsHost="true" IsItemsHost="true"
Grid.Row="1" Grid.Row="1"
KeyboardNavigation.TabIndex="1" KeyboardNavigation.TabIndex="1"
KeyboardNavigation.DirectionalNavigation="Cycle"
Panel.ZIndex="1" /> Panel.ZIndex="1" />
</Grid> </Grid>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
@ -369,8 +375,7 @@
<Border x:Name="Bd" <Border x:Name="Bd"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="1,0,1,1" BorderThickness="1,0,1,1"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}">
Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Content" <ContentPresenter x:Name="Content"
ContentSource="Header" ContentSource="Header"
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
@ -437,13 +442,9 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
<Setter Property="ContentTemplate"> <Setter Property="ContentTemplate"
<Setter.Value> Value="{StaticResource AnchorablePaneControlContentTemplate}" />
<DataTemplate>
<avalonDockControls:LayoutAnchorableControl Model="{Binding}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style> </Style>
<Style TargetType="avalonDockControls:AnchorablePaneTitle"> <Style TargetType="avalonDockControls:AnchorablePaneTitle">
@ -613,8 +614,8 @@
Margin="0,4,0,0" Margin="0,4,0,0"
Padding="2"> Padding="2">
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Model.Root.Manager.AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
</Border> </Border>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="Side" <Trigger Property="Side"
@ -1157,11 +1158,14 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}">
<!--Use a transparent background to hit for contextMenu popup-->
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}" <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}"
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
Background="Transparent">
<Border Background="{TemplateBinding Background}" <Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"> BorderThickness="{TemplateBinding BorderThickness}"
Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
@ -1171,8 +1175,8 @@
<Border Grid.ColumnSpan="3" <Border Grid.ColumnSpan="3"
Background="Transparent" /> Background="Transparent" />
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding DocumentHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Root.Manager.DocumentHeaderTemplate, Mode=OneWay}"
ContentTemplateSelector="{Binding DocumentHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Root.Manager.DocumentHeaderTemplateSelector, Mode=OneWay}" />
<!-- Close button should be moved out to the container style --> <!-- Close button should be moved out to the container style -->
<Button x:Name="DocumentCloseButton" <Button x:Name="DocumentCloseButton"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
@ -1233,19 +1237,18 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}">
<!--Use a transparent background to hit for contextMenu popup-->
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}" <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}"
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
Background="Transparent">
<Border Background="{TemplateBinding Background}" <Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"> BorderThickness="{TemplateBinding BorderThickness}"
Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
<Grid> <Grid>
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Root.Manager.AnchorableHeaderTemplate, Mode=OneWay}"
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay}" />
<avalonDockControls:DropDownControlArea Grid.Column="0"
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
DropDownContextMenuDataContext="{Binding Path=Model, RelativeSource={RelativeSource TemplatedParent}}" >
</avalonDockControls:DropDownControlArea>
</Grid> </Grid>
</Border> </Border>
</avalonDockControls:DropDownControlArea> </avalonDockControls:DropDownControlArea>
@ -1322,100 +1325,102 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}">
<Grid> <AdornerDecorator>
<Border x:Name="WindowBorder" <Grid>
BorderThickness="{TemplateBinding BorderThickness}" <Border x:Name="WindowBorder"
Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"> Background="{TemplateBinding Background}"
<Grid Margin="3"> BorderBrush="{TemplateBinding BorderBrush}">
<Grid.RowDefinitions> <Grid Margin="3">
<RowDefinition MinHeight="18" <Grid.RowDefinitions>
Height="Auto"/> <RowDefinition MinHeight="18"
<RowDefinition Height="*" /> Height="Auto" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<Border x:Name="Header" </Grid.RowDefinitions>
Padding="2,0,2,0"> <Border x:Name="Header"
<Grid UseLayoutRounding="True"> Padding="2,0,2,0">
<Grid.ColumnDefinitions> <Grid UseLayoutRounding="True">
<ColumnDefinition Width="*" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" />
<ContentPresenter Content="{Binding Model.RootDocument, RelativeSource={RelativeSource TemplatedParent}}" </Grid.ColumnDefinitions>
ContentTemplate="{Binding Model.Root.Manager.DocumentTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model.RootDocument, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.DocumentTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" /> ContentTemplate="{Binding Model.Root.Manager.DocumentTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.DocumentTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" />
<avalonDockControls:DropDownButton x:Name="ContextMenuDropdownButton"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <avalonDockControls:DropDownButton x:Name="ContextMenuDropdownButton"
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Focusable="False" Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"
Grid.Column="1" Focusable="False"
VerticalAlignment="Center" Grid.Column="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
DropDownContextMenu="{Binding Model.Root.Manager.DocumentContextMenu, RelativeSource={RelativeSource TemplatedParent}}" HorizontalContentAlignment="Center"
DropDownContextMenuDataContext="{Binding Path=RootDocumentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenu="{Binding Model.Root.Manager.DocumentContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ToolTip="{x:Static avalonDockProperties:Resources.Document_CxMenu_Hint}"> DropDownContextMenuDataContext="{Binding Path=RootDocumentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
<Image x:Name="PART_ImgPinMenu" ToolTip="{x:Static avalonDockProperties:Resources.Document_CxMenu_Hint}">
Stretch="None" <Image x:Name="PART_ImgPinMenu"
Source="Images/PinMenu_Dark.png" Stretch="None"
Width="13" > Source="Images/PinMenu_Dark.png"
</Image> Width="13">
</avalonDockControls:DropDownButton> </Image>
</avalonDockControls:DropDownButton>
<Button x:Name="PART_PinMaximize"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinMaximize"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
<Image x:Name="PART_ImgPinMaximize" Grid.Column="2">
Source="Images/PinMaximize_Dark.png" <Image x:Name="PART_ImgPinMaximize"
Width="13" > Source="Images/PinMaximize_Dark.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinRestore"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinRestore"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
<Image x:Name="PART_ImgPinRestore" Grid.Column="2">
Source="Images/PinRestore_Dark.png" <Image x:Name="PART_ImgPinRestore"
Width="13" > Source="Images/PinRestore_Dark.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinClose"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinClose"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Focusable="False"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
Command="{Binding Path=RootDocumentLayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}" Command="{Binding Path=RootDocumentLayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="3"> ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}"
<Image x:Name="PART_ImgPinClose" Grid.Column="3">
Source="Images/PinClose_Dark.png" <Image x:Name="PART_ImgPinClose"
Width="13" > Source="Images/PinClose_Dark.png"
</Image> Width="13">
</Button> </Image>
</Grid> </Button>
</Border> </Grid>
<ContentPresenter Content="{TemplateBinding Content}" </Border>
Grid.Row="1" /> <ContentPresenter Content="{TemplateBinding Content}"
</Grid> Grid.Row="1" />
</Border> </Grid>
</Grid> </Border>
</Grid>
</AdornerDecorator>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="WindowState" <Trigger Property="WindowState"
Value="Maximized"> Value="Maximized">
@ -1496,116 +1501,118 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}">
<Grid> <AdornerDecorator>
<Border x:Name="WindowBorder" <Grid>
BorderThickness="{TemplateBinding BorderThickness}" <Border x:Name="WindowBorder"
Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"> Background="{TemplateBinding Background}"
<Grid> BorderBrush="{TemplateBinding BorderBrush}">
<Grid.RowDefinitions> <Grid>
<RowDefinition MinHeight="18" <Grid.RowDefinitions>
Height="Auto"/> <RowDefinition MinHeight="18"
<RowDefinition Height="*" /> Height="Auto" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<Border x:Name="Header" </Grid.RowDefinitions>
CornerRadius="1,1,0,0" <Border x:Name="Header"
Padding="2,0,2,0" CornerRadius="1,1,0,0"
Background="{DynamicResource {x:Static avalonDockAero:AeroColors.BaseColor16Key}}"> Padding="2,0,2,0"
<Grid UseLayoutRounding="True"> Background="{DynamicResource {x:Static avalonDockAero:AeroColors.BaseColor16Key}}">
<Grid.ColumnDefinitions> <Grid UseLayoutRounding="True">
<ColumnDefinition Width="*" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}">
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}" <Border Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}">
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
<ContentPresenter Content="{Binding Model.SinglePane.SelectedContent, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}">
ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model.SinglePane.SelectedContent, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" /> ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
</avalonDockControls:DropDownControlArea> ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" />
</Border> </avalonDockControls:DropDownControlArea>
</Border>
<avalonDockControls:DropDownButton x:Name="SinglePaneContextMenu"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <avalonDockControls:DropDownButton x:Name="SinglePaneContextMenu"
Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}" Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
Focusable="False" Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"
Grid.Column="1" Focusable="False"
VerticalAlignment="Center" Grid.Column="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}" HorizontalContentAlignment="Center"
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}"> DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
<Image x:Name="PART_ImgPinMenu" ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}">
Stretch="None" <Image x:Name="PART_ImgPinMenu"
Source="Images/PinMenu_Dark.png" Stretch="None"
Width="13" > Source="Images/PinMenu_Dark.png"
</Image> Width="13">
</avalonDockControls:DropDownButton> </Image>
</avalonDockControls:DropDownButton>
<Button x:Name="PART_PinMaximize"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinMaximize"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
VerticalAlignment="Center" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}" HorizontalContentAlignment="Center"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
<Image x:Name="PART_ImgPinMaximize" Grid.Column="2">
Source="Images/PinMaximize_Dark.png" <Image x:Name="PART_ImgPinMaximize"
Width="13" > Source="Images/PinMaximize_Dark.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinRestore"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinRestore"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
VerticalAlignment="Center" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}" HorizontalAlignment="Center"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
<Image x:Name="PART_ImgPinRestore" Grid.Column="2">
Source="Images/PinRestore_Dark.png" <Image x:Name="PART_ImgPinRestore"
Width="13" > Source="Images/PinRestore_Dark.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinClose"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinClose"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Focusable="False"
VerticalAlignment="Center" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" HorizontalAlignment="Center"
Command="{Binding HideWindowCommand, RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}" Command="{Binding HideWindowCommand, RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="3"> ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}"
<Image x:Name="PART_ImgPinClose" Grid.Column="3">
Source="Images/PinClose_Dark.png" <Image x:Name="PART_ImgPinClose"
Width="13" > Source="Images/PinClose_Dark.png"
</Image> Width="13">
</Button> </Image>
</Grid> </Button>
</Border> </Grid>
<ContentPresenter Content="{TemplateBinding Content}" </Border>
Grid.Row="1" /> <ContentPresenter Content="{TemplateBinding Content}"
</Grid> Grid.Row="1" />
</Border> </Grid>
</Grid> </Border>
</Grid>
</AdornerDecorator>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="WindowState" <Trigger Property="WindowState"
Value="Maximized"> Value="Maximized">

14
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Xceed.Wpf.AvalonDock.Themes.Aero.csproj

@ -188,11 +188,11 @@
<Resource Include="Images\PinDocMenu_Dark.png" /> <Resource Include="Images\PinDocMenu_Dark.png" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
</Project> </Project>

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Brushes.xaml

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

24
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/MetroTheme.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -21,13 +22,16 @@ using System.Text;
namespace Xceed.Wpf.AvalonDock.Themes namespace Xceed.Wpf.AvalonDock.Themes
{ {
public class MetroTheme : Theme public class MetroTheme : Theme
{
public override Uri GetResourceUri()
{ {
public override Uri GetResourceUri() string assemblyName = "Xceed.Wpf.AvalonDock.Themes.Metro";
{
return new Uri(
"/Xceed.Wpf.AvalonDock.Themes.Metro;component/Theme.xaml", return new Uri(
UriKind.Relative); "/" + assemblyName + ";component/Theme.xaml",
} UriKind.Relative );
} }
}
} }

9
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Properties/AssemblyInfo.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -30,7 +31,7 @@ using System;
[assembly: AssemblyCompany( "Xceed Software Inc." )] [assembly: AssemblyCompany( "Xceed Software Inc." )]
[assembly: AssemblyProduct( "Xceed Toolkit for WPF - AvalonDock" )] [assembly: AssemblyProduct( "Xceed Toolkit for WPF - AvalonDock" )]
[assembly: AssemblyCopyright( "Copyright (C) Xceed Software Inc. 2007-2019" )] [assembly: AssemblyCopyright( "Copyright (C) Xceed Software Inc. 2007-2020" )]

511
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -16,13 +17,11 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localThemes="clr-namespace:Xceed.Wpf.AvalonDock.Themes" xmlns:shell="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDock="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDock="clr-namespace:Xceed.Wpf.AvalonDock;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockControls="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockLayout="clr-namespace:Xceed.Wpf.AvalonDock.Layout;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockConverters="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockControls="clr-namespace:Xceed.Wpf.AvalonDock.Controls;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockProperties="http://schemas.xceed.com/wpf/xaml/avalondock">
xmlns:avalonDockConverters="clr-namespace:Xceed.Wpf.AvalonDock.Converters;assembly=Xceed.Wpf.AvalonDock"
xmlns:avalonDockProperties="clr-namespace:Xceed.Wpf.AvalonDock.Properties;assembly=Xceed.Wpf.AvalonDock">
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Brushes.xaml" /> <ResourceDictionary Source="Brushes.xaml" />
@ -41,6 +40,10 @@
<avalonDockControls:LayoutDocumentControl Model="{Binding}" /> <avalonDockControls:LayoutDocumentControl Model="{Binding}" />
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="AnchorablePaneControlContentTemplate">
<avalonDockControls:LayoutAnchorableControl Model="{Binding}" />
</DataTemplate>
<Style x:Key="AvalonDock_ThemeMetro_ToolButtonStyle" <Style x:Key="AvalonDock_ThemeMetro_ToolButtonStyle"
TargetType="ToggleButton"> TargetType="ToggleButton">
<Setter Property="Background" <Setter Property="Background"
@ -116,7 +119,8 @@
IsItemsHost="true" IsItemsHost="true"
Margin="2,0,2,0" Margin="2,0,2,0"
Grid.Row="0" Grid.Row="0"
KeyboardNavigation.TabIndex="1" /> KeyboardNavigation.TabIndex="1"
KeyboardNavigation.DirectionalNavigation="Cycle" />
<avalonDockControls:DropDownButton x:Name="MenuDropDownButton" <avalonDockControls:DropDownButton x:Name="MenuDropDownButton"
Style="{StaticResource AvalonDock_ThemeMetro_ToolButtonStyle}" Style="{StaticResource AvalonDock_ThemeMetro_ToolButtonStyle}"
Focusable="False" Focusable="False"
@ -159,6 +163,7 @@
Padding="0,1,0,2"> Padding="0,1,0,2">
<ContentPresenter x:Name="PART_SelectedContentHost" <ContentPresenter x:Name="PART_SelectedContentHost"
ContentSource="SelectedContent" ContentSource="SelectedContent"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="0,2,0,2" Margin="0,2,0,2"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border> </Border>
@ -224,8 +229,7 @@
<Border x:Name="Bd" <Border x:Name="Bd"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="0,3,0,0" BorderThickness="0,3,0,0"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}">
Padding="{TemplateBinding Padding}">
</Border> </Border>
<ContentPresenter x:Name="Content" <ContentPresenter x:Name="Content"
Margin="2" Margin="2"
@ -330,6 +334,7 @@
KeyboardNavigation.TabNavigation="Cycle"> KeyboardNavigation.TabNavigation="Cycle">
<ContentPresenter x:Name="PART_SelectedContentHost" <ContentPresenter x:Name="PART_SelectedContentHost"
ContentSource="SelectedContent" ContentSource="SelectedContent"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="{TemplateBinding Padding}" Margin="{TemplateBinding Padding}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border> </Border>
@ -338,6 +343,7 @@
IsItemsHost="true" IsItemsHost="true"
Grid.Row="1" Grid.Row="1"
KeyboardNavigation.TabIndex="1" KeyboardNavigation.TabIndex="1"
KeyboardNavigation.DirectionalNavigation="Cycle"
Panel.ZIndex="1" /> Panel.ZIndex="1" />
</Grid> </Grid>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
@ -378,8 +384,7 @@
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
Margin="4" Margin="4"
BorderThickness="0,2,0,0" BorderThickness="0,2,0,0"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}">
Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Content" <ContentPresenter x:Name="Content"
ContentSource="Header" ContentSource="Header"
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
@ -446,13 +451,9 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
<Setter Property="ContentTemplate"> <Setter Property="ContentTemplate"
<Setter.Value> Value="{StaticResource AnchorablePaneControlContentTemplate}" />
<DataTemplate>
<avalonDockControls:LayoutAnchorableControl Model="{Binding}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style> </Style>
<Style TargetType="avalonDockControls:AnchorablePaneTitle"> <Style TargetType="avalonDockControls:AnchorablePaneTitle">
@ -633,8 +634,8 @@
Padding="2"> Padding="2">
<ContentPresenter TextElement.Foreground="{DynamicResource AvalonDock_ThemeMetro_BaseColor2}" <ContentPresenter TextElement.Foreground="{DynamicResource AvalonDock_ThemeMetro_BaseColor2}"
Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Model.Root.Manager.AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
</Border> </Border>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="Side" <Trigger Property="Side"
@ -1180,12 +1181,15 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}">
<!--Use a transparent background to hit for contextMenu popup-->
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}" <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}"
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
Background="Transparent">
<Border Background="{TemplateBinding Background}" <Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" BorderThickness="{TemplateBinding BorderThickness}"
Padding="0,2,0,1"> Padding="0,2,0,1"
Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
@ -1195,8 +1199,8 @@
<Border Grid.ColumnSpan="3" <Border Grid.ColumnSpan="3"
Background="Transparent" /> Background="Transparent" />
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding DocumentHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Root.Manager.DocumentHeaderTemplate, Mode=OneWay}"
ContentTemplateSelector="{Binding DocumentHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Root.Manager.DocumentHeaderTemplateSelector, Mode=OneWay}" />
<!-- Close button should be moved out to the container style --> <!-- Close button should be moved out to the container style -->
<Button x:Name="DocumentCloseButton" <Button x:Name="DocumentCloseButton"
Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}" Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}"
@ -1277,19 +1281,18 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}">
<!--Use a transparent background to hit for contextMenu popup-->
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}" <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}"
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
Background="Transparent">
<Border Background="{TemplateBinding Background}" <Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"> BorderThickness="{TemplateBinding BorderThickness}"
Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
<Grid> <Grid>
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Root.Manager.AnchorableHeaderTemplate, Mode=OneWay}"
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay}" />
<avalonDockControls:DropDownControlArea Grid.Column="0"
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
DropDownContextMenuDataContext="{Binding Path=Model, RelativeSource={RelativeSource TemplatedParent}}" >
</avalonDockControls:DropDownControlArea>
</Grid> </Grid>
</Border> </Border>
</avalonDockControls:DropDownControlArea> </avalonDockControls:DropDownControlArea>
@ -1365,112 +1368,114 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}">
<Grid> <AdornerDecorator>
<Border x:Name="WindowBorder" <Grid>
Background="{TemplateBinding Background}" <Border x:Name="WindowBorder"
BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"> BorderBrush="{TemplateBinding BorderBrush}"
<Grid> BorderThickness="{TemplateBinding BorderThickness}">
<Grid.RowDefinitions> <Grid>
<RowDefinition MinHeight="24" <Grid.RowDefinitions>
Height="Auto"/> <RowDefinition MinHeight="24"
<RowDefinition Height="*" /> Height="Auto" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<Grid.ColumnDefinitions> </Grid.RowDefinitions>
<ColumnDefinition Width="Auto" /> <Grid.ColumnDefinitions>
<ColumnDefinition /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> <ColumnDefinition />
</Grid.ColumnDefinitions>
<Border x:Name="bd"
Width="5" <Border x:Name="bd"
VerticalAlignment="Stretch" Width="5"
Background="{DynamicResource AvalonDock_ThemeMetro_BaseColor5}" /> VerticalAlignment="Stretch"
Background="{DynamicResource AvalonDock_ThemeMetro_BaseColor5}" />
<Border x:Name="Header"
Padding="2,0,2,0" <Border x:Name="Header"
Grid.Column="1"> Padding="2,0,2,0"
<Grid UseLayoutRounding="True"> Grid.Column="1">
<Grid.ColumnDefinitions> <Grid UseLayoutRounding="True">
<ColumnDefinition Width="*" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" />
<ContentPresenter Content="{Binding Model.RootDocument, RelativeSource={RelativeSource TemplatedParent}}" </Grid.ColumnDefinitions>
ContentTemplate="{Binding Model.Root.Manager.DocumentTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model.RootDocument, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.DocumentTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" /> ContentTemplate="{Binding Model.Root.Manager.DocumentTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.DocumentTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" />
<avalonDockControls:DropDownButton x:Name="ContextMenuDropdownButton"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <avalonDockControls:DropDownButton x:Name="ContextMenuDropdownButton"
Style="{StaticResource AvalonDock_ThemeMetro_ToolButtonStyle}" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Focusable="False" Style="{StaticResource AvalonDock_ThemeMetro_ToolButtonStyle}"
Grid.Column="1" Focusable="False"
VerticalAlignment="Center" Grid.Column="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
DropDownContextMenu="{Binding Model.Root.Manager.DocumentContextMenu, RelativeSource={RelativeSource TemplatedParent}}" HorizontalContentAlignment="Center"
DropDownContextMenuDataContext="{Binding Path=RootDocumentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenu="{Binding Model.Root.Manager.DocumentContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ToolTip="{x:Static avalonDockProperties:Resources.Document_CxMenu_Hint}"> DropDownContextMenuDataContext="{Binding Path=RootDocumentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
<Image x:Name="PART_ImgPinMenu" ToolTip="{x:Static avalonDockProperties:Resources.Document_CxMenu_Hint}">
Stretch="None" <Image x:Name="PART_ImgPinMenu"
Source="Images/PinMenu.png" Stretch="None"
Width="13"> Source="Images/PinMenu.png"
</Image> Width="13">
</avalonDockControls:DropDownButton> </Image>
</avalonDockControls:DropDownButton>
<Button x:Name="PART_PinMaximize"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinMaximize"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}" Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
<Image x:Name="PART_ImgPinMaximize" Grid.Column="2">
Source="Images/PinMaximize.png" <Image x:Name="PART_ImgPinMaximize"
Width="13" > Source="Images/PinMaximize.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinRestore"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinRestore"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}" Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
<Image x:Name="PART_ImgPinRestore" Grid.Column="2">
Source="Images/PinRestore.png" <Image x:Name="PART_ImgPinRestore"
Width="13" > Source="Images/PinRestore.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinClose"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinClose"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}" Focusable="False"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}"
Command="{Binding Path=RootDocumentLayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}" Command="{Binding Path=RootDocumentLayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="3"> ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}"
<Image x:Name="PART_ImgPinClose" Grid.Column="3">
Source="Images/PinClose.png" <Image x:Name="PART_ImgPinClose"
Width="13" > Source="Images/PinClose.png"
</Image> Width="13">
</Button> </Image>
</Grid> </Button>
</Border> </Grid>
<ContentPresenter Content="{TemplateBinding Content}" </Border>
Grid.Row="1" <ContentPresenter Content="{TemplateBinding Content}"
Grid.ColumnSpan="2" /> Grid.Row="1"
</Grid> Grid.ColumnSpan="2" />
</Border> </Grid>
</Grid> </Border>
</Grid>
</AdornerDecorator>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="WindowState" <Trigger Property="WindowState"
Value="Maximized"> Value="Maximized">
@ -1553,116 +1558,118 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}">
<Grid> <AdornerDecorator>
<Border x:Name="WindowBorder" <Grid>
BorderThickness="{TemplateBinding BorderThickness}" <Border x:Name="WindowBorder"
Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"> Background="{TemplateBinding Background}"
<Grid> BorderBrush="{TemplateBinding BorderBrush}">
<Grid.RowDefinitions> <Grid>
<RowDefinition MinHeight="24" <Grid.RowDefinitions>
Height="Auto"/> <RowDefinition MinHeight="24"
<RowDefinition Height="*" /> Height="Auto" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<Border x:Name="Header" </Grid.RowDefinitions>
Padding="2,0,2,0" <Border x:Name="Header"
TextElement.Foreground="{DynamicResource AvalonDock_ThemeMetro_BaseColor2}" Padding="2,0,2,0"
Background="{TemplateBinding Background}"> TextElement.Foreground="{DynamicResource AvalonDock_ThemeMetro_BaseColor2}"
<Grid UseLayoutRounding="True"> Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions> <Grid UseLayoutRounding="True">
<ColumnDefinition Width="*" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}">
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}" <Border Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}">
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
<ContentPresenter Content="{Binding Model.SinglePane.SelectedContent, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}">
ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model.SinglePane.SelectedContent, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" /> ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
</avalonDockControls:DropDownControlArea> ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" />
</Border> </avalonDockControls:DropDownControlArea>
</Border>
<avalonDockControls:DropDownButton x:Name="SinglePaneContextMenu"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <avalonDockControls:DropDownButton x:Name="SinglePaneContextMenu"
Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource AvalonDock_ThemeMetro_ToolButtonStyle}" Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
Focusable="False" Style="{StaticResource AvalonDock_ThemeMetro_ToolButtonStyle}"
Grid.Column="1" Focusable="False"
VerticalAlignment="Center" Grid.Column="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}" HorizontalContentAlignment="Center"
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}"> DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
<Image x:Name="PART_ImgPinMenu" ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}">
Stretch="None" <Image x:Name="PART_ImgPinMenu"
Source="Images/PinMenu.png" Stretch="None"
Width="13" > Source="Images/PinMenu.png"
</Image> Width="13">
</avalonDockControls:DropDownButton> </Image>
</avalonDockControls:DropDownButton>
<Button x:Name="PART_PinMaximize"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinMaximize"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
VerticalAlignment="Center" Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}" HorizontalContentAlignment="Center"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
<Image x:Name="PART_ImgPinMaximize" Grid.Column="2">
Source="Images/PinMaximize.png" <Image x:Name="PART_ImgPinMaximize"
Width="13" > Source="Images/PinMaximize.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinRestore"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinRestore"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
VerticalAlignment="Center" Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}" HorizontalAlignment="Center"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
<Image x:Name="PART_ImgPinRestore" Grid.Column="2">
Source="Images/PinRestore.png" <Image x:Name="PART_ImgPinRestore"
Width="13" > Source="Images/PinRestore.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinClose"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinClose"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}" Focusable="False"
VerticalAlignment="Center" Style="{StaticResource AvalonDock_ThemeMetro_ButtonStyle}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" HorizontalAlignment="Center"
Command="{Binding HideWindowCommand, RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}" Command="{Binding HideWindowCommand, RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="3"> ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}"
<Image x:Name="PART_ImgPinClose" Grid.Column="3">
Source="Images/PinClose.png" <Image x:Name="PART_ImgPinClose"
Width="13" > Source="Images/PinClose.png"
</Image> Width="13">
</Button> </Image>
</Grid> </Button>
</Border> </Grid>
<ContentPresenter Content="{TemplateBinding Content}" </Border>
Grid.Row="1" /> <ContentPresenter Content="{TemplateBinding Content}"
</Grid> Grid.Row="1" />
</Border> </Grid>
</Grid> </Border>
</Grid>
</AdornerDecorator>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="WindowState" <Trigger Property="WindowState"
Value="Maximized"> Value="Maximized">

14
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Xceed.Wpf.AvalonDock.Themes.Metro.csproj

@ -115,11 +115,11 @@
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
</Project> </Project>

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Brushes.xaml

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

9
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Properties/AssemblyInfo.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -30,7 +31,7 @@ using System;
[assembly: AssemblyCompany( "Xceed Software Inc." )] [assembly: AssemblyCompany( "Xceed Software Inc." )]
[assembly: AssemblyProduct( "Xceed Toolkit for WPF - AvalonDock" )] [assembly: AssemblyProduct( "Xceed Toolkit for WPF - AvalonDock" )]
[assembly: AssemblyCopyright( "Copyright (C) Xceed Software Inc. 2007-2019" )] [assembly: AssemblyCopyright( "Copyright (C) Xceed Software Inc. 2007-2020" )]
// Setting ComVisible to false makes the types in this assembly not visible // Setting ComVisible to false makes the types in this assembly not visible

488
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -17,12 +18,12 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localThemes="clr-namespace:Xceed.Wpf.AvalonDock.Themes" xmlns:localThemes="clr-namespace:Xceed.Wpf.AvalonDock.Themes"
xmlns:shell="clr-namespace:Microsoft.Windows.Shell;assembly=Xceed.Wpf.AvalonDock" xmlns:shell="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDock="clr-namespace:Xceed.Wpf.AvalonDock;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDock="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockLayout="clr-namespace:Xceed.Wpf.AvalonDock.Layout;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockLayout="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockControls="clr-namespace:Xceed.Wpf.AvalonDock.Controls;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockControls="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockConverters="clr-namespace:Xceed.Wpf.AvalonDock.Converters;assembly=Xceed.Wpf.AvalonDock" xmlns:avalonDockConverters="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:avalonDockProperties="clr-namespace:Xceed.Wpf.AvalonDock.Properties;assembly=Xceed.Wpf.AvalonDock"> xmlns:avalonDockProperties="http://schemas.xceed.com/wpf/xaml/avalondock">
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Brushes.xaml" /> <ResourceDictionary Source="Brushes.xaml" />
@ -41,6 +42,10 @@
<avalonDockControls:LayoutDocumentControl Model="{Binding}" /> <avalonDockControls:LayoutDocumentControl Model="{Binding}" />
</DataTemplate> </DataTemplate>
<DataTemplate x:Key="AnchorablePaneControlContentTemplate">
<avalonDockControls:LayoutAnchorableControl Model="{Binding}" />
</DataTemplate>
<Style x:Key="AvalonDock_ThemeVS2010_ToolButtonStyle" <Style x:Key="AvalonDock_ThemeVS2010_ToolButtonStyle"
TargetType="ToggleButton"> TargetType="ToggleButton">
@ -146,7 +151,8 @@
IsItemsHost="true" IsItemsHost="true"
Margin="2,0,2,0" Margin="2,0,2,0"
Grid.Row="0" Grid.Row="0"
KeyboardNavigation.TabIndex="1" /> KeyboardNavigation.TabIndex="1"
KeyboardNavigation.DirectionalNavigation="Cycle" />
<avalonDockControls:DropDownButton x:Name="MenuDropDownButton" <avalonDockControls:DropDownButton x:Name="MenuDropDownButton"
Style="{StaticResource AvalonDock_ThemeVS2010_ToolButtonStyle}" Style="{StaticResource AvalonDock_ThemeVS2010_ToolButtonStyle}"
Focusable="False" Focusable="False"
@ -190,6 +196,7 @@
Padding="0,1,0,2"> Padding="0,1,0,2">
<ContentPresenter x:Name="PART_SelectedContentHost" <ContentPresenter x:Name="PART_SelectedContentHost"
ContentSource="SelectedContent" ContentSource="SelectedContent"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="0,2,0,2" Margin="0,2,0,2"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border> </Border>
@ -275,8 +282,7 @@
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="1,1,1,0" BorderThickness="1,1,1,0"
CornerRadius="2,2,0,0" CornerRadius="2,2,0,0"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}">
Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Content" <ContentPresenter x:Name="Content"
ContentSource="Header" ContentSource="Header"
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
@ -411,6 +417,7 @@
KeyboardNavigation.TabNavigation="Cycle"> KeyboardNavigation.TabNavigation="Cycle">
<ContentPresenter x:Name="PART_SelectedContentHost" <ContentPresenter x:Name="PART_SelectedContentHost"
ContentSource="SelectedContent" ContentSource="SelectedContent"
ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="{TemplateBinding Padding}" Margin="{TemplateBinding Padding}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border> </Border>
@ -419,6 +426,7 @@
IsItemsHost="true" IsItemsHost="true"
Grid.Row="1" Grid.Row="1"
KeyboardNavigation.TabIndex="1" KeyboardNavigation.TabIndex="1"
KeyboardNavigation.DirectionalNavigation="Cycle"
Panel.ZIndex="1" /> Panel.ZIndex="1" />
</Grid> </Grid>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
@ -459,8 +467,7 @@
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="1,0,1,1" BorderThickness="1,0,1,1"
CornerRadius="0,0,2,2" CornerRadius="0,0,2,2"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}">
Padding="{TemplateBinding Padding}">
<ContentPresenter x:Name="Content" <ContentPresenter x:Name="Content"
ContentSource="Header" ContentSource="Header"
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
@ -532,13 +539,9 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
<Setter Property="ContentTemplate"> <Setter Property="ContentTemplate"
<Setter.Value> Value="{StaticResource AnchorablePaneControlContentTemplate}" />
<DataTemplate>
<avalonDockControls:LayoutAnchorableControl Model="{Binding}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style> </Style>
<Style TargetType="avalonDockControls:AnchorablePaneTitle"> <Style TargetType="avalonDockControls:AnchorablePaneTitle">
@ -722,8 +725,8 @@
Padding="2"> Padding="2">
<ContentPresenter TextElement.Foreground="{DynamicResource AvalonDock_ThemeVS2010_BaseColor2}" <ContentPresenter TextElement.Foreground="{DynamicResource AvalonDock_ThemeVS2010_BaseColor2}"
Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Model.Root.Manager.AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
</Border> </Border>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="Side" <Trigger Property="Side"
@ -1274,12 +1277,14 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}">
<!--Use a transparent background to hit for contextMenu popup-->
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}" <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}"
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
Background="Transparent">
<Border Background="{TemplateBinding Background}" <Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" BorderThickness="{TemplateBinding BorderThickness}"
Padding="0,2,0,1"> Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
@ -1289,8 +1294,8 @@
<Border Grid.ColumnSpan="3" <Border Grid.ColumnSpan="3"
Background="Transparent" /> Background="Transparent" />
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding DocumentHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Root.Manager.DocumentHeaderTemplate, Mode=OneWay}"
ContentTemplateSelector="{Binding DocumentHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Root.Manager.DocumentHeaderTemplateSelector, Mode=OneWay}" />
<!-- Close button should be moved out to the container style --> <!-- Close button should be moved out to the container style -->
<Button x:Name="DocumentCloseButton" <Button x:Name="DocumentCloseButton"
Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}" Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}"
@ -1371,19 +1376,18 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}">
<!--Use a transparent background to hit for contextMenu popup-->
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}" <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}"
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
Background="Transparent">
<Border Background="{TemplateBinding Background}" <Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"> BorderThickness="{TemplateBinding BorderThickness}"
Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
<Grid> <Grid>
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" ContentTemplate="{Binding Root.Manager.AnchorableHeaderTemplate, Mode=OneWay}"
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" /> ContentTemplateSelector="{Binding Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay}" />
<avalonDockControls:DropDownControlArea Grid.Column="0"
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
DropDownContextMenuDataContext="{Binding Path=Model, RelativeSource={RelativeSource TemplatedParent}}" >
</avalonDockControls:DropDownControlArea>
</Grid> </Grid>
</Border> </Border>
</avalonDockControls:DropDownControlArea> </avalonDockControls:DropDownControlArea>
@ -1463,100 +1467,102 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}">
<Grid> <AdornerDecorator>
<Border x:Name="WindowBorder" <Grid>
BorderThickness="{TemplateBinding BorderThickness}" <Border x:Name="WindowBorder"
Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"> Background="{TemplateBinding Background}"
<Grid Margin="3"> BorderBrush="{TemplateBinding BorderBrush}">
<Grid.RowDefinitions> <Grid Margin="3">
<RowDefinition MinHeight="18" <Grid.RowDefinitions>
Height="Auto"/> <RowDefinition MinHeight="18"
<RowDefinition Height="*" /> Height="Auto" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<Border x:Name="Header" </Grid.RowDefinitions>
Padding="2,0,2,0"> <Border x:Name="Header"
<Grid UseLayoutRounding="True"> Padding="2,0,2,0">
<Grid.ColumnDefinitions> <Grid UseLayoutRounding="True">
<ColumnDefinition Width="*" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" />
<ContentPresenter Content="{Binding Model.RootDocument, RelativeSource={RelativeSource TemplatedParent}}" </Grid.ColumnDefinitions>
ContentTemplate="{Binding Model.Root.Manager.DocumentTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model.RootDocument, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.DocumentTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" /> ContentTemplate="{Binding Model.Root.Manager.DocumentTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.DocumentTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" />
<avalonDockControls:DropDownButton x:Name="ContextMenuDropdownButton"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <avalonDockControls:DropDownButton x:Name="ContextMenuDropdownButton"
Style="{StaticResource AvalonDock_ThemeVS2010_ToolButtonStyle}" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Focusable="False" Style="{StaticResource AvalonDock_ThemeVS2010_ToolButtonStyle}"
Grid.Column="1" Focusable="False"
VerticalAlignment="Center" Grid.Column="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
DropDownContextMenu="{Binding Model.Root.Manager.DocumentContextMenu, RelativeSource={RelativeSource TemplatedParent}}" HorizontalContentAlignment="Center"
DropDownContextMenuDataContext="{Binding Path=RootDocumentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenu="{Binding Model.Root.Manager.DocumentContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ToolTip="{x:Static avalonDockProperties:Resources.Document_CxMenu_Hint}"> DropDownContextMenuDataContext="{Binding Path=RootDocumentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
<Image x:Name="PART_ImgPinMenu" ToolTip="{x:Static avalonDockProperties:Resources.Document_CxMenu_Hint}">
Stretch="None" <Image x:Name="PART_ImgPinMenu"
Source="Images/PinMenu.png" Stretch="None"
Width="13" > Source="Images/PinMenu.png"
</Image> Width="13">
</avalonDockControls:DropDownButton> </Image>
</avalonDockControls:DropDownButton>
<Button x:Name="PART_PinMaximize"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinMaximize"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}" Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
<Image x:Name="PART_ImgPinMaximize" Grid.Column="2">
Source="Images/PinMaximize.png" <Image x:Name="PART_ImgPinMaximize"
Width="13" > Source="Images/PinMaximize.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinRestore"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinRestore"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}" Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
<Image x:Name="PART_ImgPinRestore" Grid.Column="2">
Source="Images/PinRestore.png" <Image x:Name="PART_ImgPinRestore"
Width="13" > Source="Images/PinRestore.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinClose"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinClose"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}" Focusable="False"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}"
Command="{Binding Path=RootDocumentLayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}" Command="{Binding Path=RootDocumentLayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="3"> ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}"
<Image x:Name="PART_ImgPinClose" Grid.Column="3">
Source="Images/PinClose.png" <Image x:Name="PART_ImgPinClose"
Width="13" > Source="Images/PinClose.png"
</Image> Width="13">
</Button> </Image>
</Grid> </Button>
</Border> </Grid>
<ContentPresenter Content="{TemplateBinding Content}" </Border>
Grid.Row="1" /> <ContentPresenter Content="{TemplateBinding Content}"
</Grid> Grid.Row="1" />
</Border> </Grid>
</Grid> </Border>
</Grid>
</AdornerDecorator>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="WindowState" <Trigger Property="WindowState"
Value="Maximized"> Value="Maximized">
@ -1687,117 +1693,119 @@
<Setter Property="Template"> <Setter Property="Template">
<Setter.Value> <Setter.Value>
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}"> <ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}">
<Grid> <AdornerDecorator>
<Border x:Name="WindowBorder" <Grid>
BorderThickness="{TemplateBinding BorderThickness}" <Border x:Name="WindowBorder"
Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"> Background="{TemplateBinding Background}"
<Grid> BorderBrush="{TemplateBinding BorderBrush}">
<Grid.RowDefinitions> <Grid>
<RowDefinition MinHeight="18" <Grid.RowDefinitions>
Height="Auto"/> <RowDefinition MinHeight="18"
<RowDefinition Height="*" /> Height="Auto" />
</Grid.RowDefinitions> <RowDefinition Height="*" />
<Border x:Name="Header" </Grid.RowDefinitions>
CornerRadius="1,1,0,0" <Border x:Name="Header"
Padding="2,0,2,0" CornerRadius="1,1,0,0"
TextElement.Foreground="{DynamicResource AvalonDock_ThemeVS2010_BaseColor2}" Padding="2,0,2,0"
Background="{DynamicResource AvalonDock_ThemeVS2010_BaseColor16}"> TextElement.Foreground="{DynamicResource AvalonDock_ThemeVS2010_BaseColor2}"
<Grid UseLayoutRounding="True"> Background="{DynamicResource AvalonDock_ThemeVS2010_BaseColor16}">
<Grid.ColumnDefinitions> <Grid UseLayoutRounding="True">
<ColumnDefinition Width="*" /> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}">
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}" <Border Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}">
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"> <avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
<ContentPresenter Content="{Binding Model.SinglePane.SelectedContent, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}">
ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}" <ContentPresenter Content="{Binding Model.SinglePane.SelectedContent, RelativeSource={RelativeSource TemplatedParent}}"
ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" /> ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
</avalonDockControls:DropDownControlArea> ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}" />
</Border> </avalonDockControls:DropDownControlArea>
</Border>
<avalonDockControls:DropDownButton x:Name="SinglePaneContextMenu"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <avalonDockControls:DropDownButton x:Name="SinglePaneContextMenu"
Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource AvalonDock_ThemeVS2010_ToolButtonStyle}" Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
Focusable="False" Style="{StaticResource AvalonDock_ThemeVS2010_ToolButtonStyle}"
Grid.Column="1" Focusable="False"
VerticalAlignment="Center" Grid.Column="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}" HorizontalContentAlignment="Center"
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}" DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}"> DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
<Image x:Name="PART_ImgPinMenu" ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}">
Stretch="None" <Image x:Name="PART_ImgPinMenu"
Source="Images/PinMenu.png" Stretch="None"
Width="13" > Source="Images/PinMenu.png"
</Image> Width="13">
</avalonDockControls:DropDownButton> </Image>
</avalonDockControls:DropDownButton>
<Button x:Name="PART_PinMaximize"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinMaximize"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
VerticalAlignment="Center" Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}"
HorizontalAlignment="Center" VerticalAlignment="Center"
VerticalContentAlignment="Center" HorizontalAlignment="Center"
HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}" HorizontalContentAlignment="Center"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
<Image x:Name="PART_ImgPinMaximize" Grid.Column="2">
Source="Images/PinMaximize.png" <Image x:Name="PART_ImgPinMaximize"
Width="13" > Source="Images/PinMaximize.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinRestore"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinRestore"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}" Focusable="False"
Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}" Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
VerticalAlignment="Center" Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}" HorizontalAlignment="Center"
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}" Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}" CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="2"> ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
<Image x:Name="PART_ImgPinRestore" Grid.Column="2">
Source="Images/PinRestore.png" <Image x:Name="PART_ImgPinRestore"
Width="13" > Source="Images/PinRestore.png"
</Image> Width="13">
</Button> </Image>
</Button>
<Button x:Name="PART_PinClose"
shell:WindowChrome.IsHitTestVisibleInChrome="True" <Button x:Name="PART_PinClose"
Focusable="False" shell:WindowChrome.IsHitTestVisibleInChrome="True"
Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}" Focusable="False"
VerticalAlignment="Center" Style="{StaticResource AvalonDock_ThemeVS2010_ButtonStyle}"
HorizontalAlignment="Center" VerticalAlignment="Center"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" HorizontalAlignment="Center"
Command="{Binding HideWindowCommand, RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}" Command="{Binding HideWindowCommand, RelativeSource={RelativeSource TemplatedParent}}"
Grid.Column="3"> ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}"
<Image x:Name="PART_ImgPinClose" Grid.Column="3">
Source="Images/PinClose.png" <Image x:Name="PART_ImgPinClose"
Width="13" > Source="Images/PinClose.png"
</Image> Width="13">
</Button> </Image>
</Grid> </Button>
</Border> </Grid>
<ContentPresenter Content="{TemplateBinding Content}" </Border>
Grid.Row="1" /> <ContentPresenter Content="{TemplateBinding Content}"
</Grid> Grid.Row="1" />
</Border> </Grid>
</Grid> </Border>
</Grid>
</AdornerDecorator>
<ControlTemplate.Triggers> <ControlTemplate.Triggers>
<Trigger Property="WindowState" <Trigger Property="WindowState"
Value="Maximized"> Value="Maximized">

24
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/VS2010Theme.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -21,13 +22,16 @@ using System.Text;
namespace Xceed.Wpf.AvalonDock.Themes namespace Xceed.Wpf.AvalonDock.Themes
{ {
public class VS2010Theme : Theme public class VS2010Theme : Theme
{
public override Uri GetResourceUri()
{ {
public override Uri GetResourceUri() string assemblyName = "Xceed.Wpf.AvalonDock.Themes.VS2010";
{
return new Uri(
"/Xceed.Wpf.AvalonDock.Themes.VS2010;component/Theme.xaml", return new Uri(
UriKind.Relative); "/" + assemblyName + ";component/Theme.xaml",
} UriKind.Relative );
} }
}
} }

14
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Xceed.Wpf.AvalonDock.Themes.VS2010.csproj

@ -135,11 +135,11 @@
<Resource Include="Images\PinRestore_Black.png" /> <Resource Include="Images\PinRestore_Black.png" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
</Project> </Project>

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Commands/RelayCommand.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneControlOverlayArea.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneDropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTabPanel.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AnchorablePaneTitle.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/AutoHideWindowManager.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/BindingHelper.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ContextMenuEx.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerDropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DockingManagerOverlayArea.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneControlOverlayArea.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropAsAnchorableTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneGroupDropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

13
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneTabPanel.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -37,8 +38,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
protected override Size MeasureOverride( Size availableSize ) protected override Size MeasureOverride( Size availableSize )
{ {
var visibleChildren = Children.Cast<UIElement>().Where( ch => ch.Visibility != System.Windows.Visibility.Collapsed );
Size desideredSize = new Size(); Size desideredSize = new Size();
foreach( FrameworkElement child in Children ) foreach( FrameworkElement child in Children )
{ {
@ -58,10 +57,10 @@ namespace Xceed.Wpf.AvalonDock.Controls
var skipAllOthers = false; var skipAllOthers = false;
foreach( TabItem doc in visibleChildren ) foreach( TabItem doc in visibleChildren )
{ {
var layoutContent = doc.Content as LayoutContent;
if( skipAllOthers || offset + doc.DesiredSize.Width > finalSize.Width ) if( skipAllOthers || offset + doc.DesiredSize.Width > finalSize.Width )
{ {
if( layoutContent.IsSelected && !doc.IsVisible ) var layoutContent = doc.Content as LayoutContent;
if( (layoutContent != null) && layoutContent.IsSelected && !doc.IsVisible )
{ {
var parentContainer = layoutContent.Parent as ILayoutContainer; var parentContainer = layoutContent.Parent as ILayoutContainer;
var parentSelector = layoutContent.Parent as ILayoutContentSelector; var parentSelector = layoutContent.Parent as ILayoutContentSelector;

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DragService.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropArea.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownButton.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

9
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropDownControlArea.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -108,6 +109,8 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
DropDownContextMenu.PlacementTarget = null; DropDownContextMenu.PlacementTarget = null;
DropDownContextMenu.Placement = PlacementMode.MousePoint; DropDownContextMenu.Placement = PlacementMode.MousePoint;
DropDownContextMenu.HorizontalOffset = 0d;
DropDownContextMenu.VerticalOffset = 0d;
DropDownContextMenu.DataContext = DropDownContextMenuDataContext; DropDownContextMenu.DataContext = DropDownContextMenuDataContext;
DropDownContextMenu.IsOpen = true; DropDownContextMenu.IsOpen = true;
// e.Handled = true; // e.Handled = true;

12
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -21,6 +22,7 @@ using System.Windows;
using System.Windows.Media; using System.Windows.Media;
using Xceed.Wpf.AvalonDock.Layout; using Xceed.Wpf.AvalonDock.Layout;
using System.Windows.Threading; using System.Windows.Threading;
using System.Windows.Input;
namespace Xceed.Wpf.AvalonDock.Controls namespace Xceed.Wpf.AvalonDock.Controls
{ {
@ -114,6 +116,10 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
Dispatcher.BeginInvoke( new Action( () => Dispatcher.BeginInvoke( new Action( () =>
{ {
if( ( currentActiveContent.Root != null ) && ( currentActiveContent.Root.Manager != null ) )
{
currentActiveContent.Root.Manager.MoveFocus( new TraversalRequest( FocusNavigationDirection.Next ) );
}
currentActiveContent.IsSelected = false; currentActiveContent.IsSelected = false;
currentActiveContent.IsActive = false; currentActiveContent.IsActive = false;
currentActiveContent.IsActive = true; currentActiveContent.IsActive = true;

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetBase.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DropTargetType.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Extentions.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FocusElementManager.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/FullWeakDictionary.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IDropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindow.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowArea.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowDropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/IOverlayWindowHost.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorGroupControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorSideControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

15
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -152,8 +153,12 @@ namespace Xceed.Wpf.AvalonDock.Controls
protected override void OnGotKeyboardFocus( System.Windows.Input.KeyboardFocusChangedEventArgs e ) protected override void OnGotKeyboardFocus( System.Windows.Input.KeyboardFocusChangedEventArgs e )
{ {
if( Model != null ) var setIsActive = !( ( e.NewFocus != null ) && ( e.OldFocus != null ) && ( e.OldFocus is LayoutFloatingWindowControl ) );
Model.IsActive = true; if( setIsActive )
{
if( Model != null )
Model.IsActive = true;
}
base.OnGotKeyboardFocus( e ); base.OnGotKeyboardFocus( e );
} }

170
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -136,24 +137,13 @@ namespace Xceed.Wpf.AvalonDock.Controls
protected override void OnClosed( EventArgs e ) protected override void OnClosed( EventArgs e )
{ {
var root = Model.Root;
if( root != null )
{
root.Manager.RemoveFloatingWindow( this );
root.CollectGarbage();
}
if( _overlayWindow != null ) if( _overlayWindow != null )
{ {
_overlayWindow.Close(); _overlayWindow.Close();
_overlayWindow = null; _overlayWindow = null;
} }
base.OnClosed( e ); base.OnClosed( e );
if( !CloseInitiatedByUser && (root != null) )
{
root.FloatingWindows.Remove( _model );
}
_model.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler( _model_PropertyChanged ); _model.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler( _model_PropertyChanged );
IsVisibleChanged -= this.LayoutAnchorableFloatingWindowControl_IsVisibleChanged; IsVisibleChanged -= this.LayoutAnchorableFloatingWindowControl_IsVisibleChanged;
@ -161,17 +151,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
BindingOperations.ClearBinding( this, SingleContentLayoutItemProperty ); BindingOperations.ClearBinding( this, SingleContentLayoutItemProperty );
} }
protected override void OnClosing( System.ComponentModel.CancelEventArgs e )
{
if( CloseInitiatedByUser && !KeepContentVisibleOnClose )
{
e.Cancel = true;
_model.Descendents().OfType<LayoutAnchorable>().ToArray().ForEach<LayoutAnchorable>( ( a ) => a.Hide() );
}
base.OnClosing( e );
}
protected override IntPtr FilterMessage( IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled ) protected override IntPtr FilterMessage( IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled )
{ {
switch( msg ) switch( msg )
@ -211,6 +190,75 @@ namespace Xceed.Wpf.AvalonDock.Controls
} }
} }
protected override bool CanClose( object parameter = null )
{
if( this.Model == null )
return false;
var root = this.Model.Root;
if( root == null )
return false;
var manager = root.Manager;
if( manager == null )
return false;
foreach( var anchorable in this.Model.Descendents().OfType<LayoutAnchorable>().ToArray() )
{
if( !anchorable.CanClose )
{
return false;
}
var anchorableLayoutItem = manager.GetLayoutItemFromModel( anchorable ) as LayoutAnchorableItem;
if( anchorableLayoutItem == null ||
anchorableLayoutItem.CloseCommand == null ||
!anchorableLayoutItem.CloseCommand.CanExecute( parameter ) )
{
return false;
}
}
return true;
}
protected override bool CanHide( object parameter = null )
{
if( this.Model == null )
return false;
var root = this.Model.Root;
if( root == null )
return false;
var manager = root.Manager;
if( manager == null )
return false;
foreach( var anchorable in this.Model.Descendents().OfType<LayoutAnchorable>().ToArray() )
{
if( !anchorable.CanHide )
{
return false;
}
var anchorableLayoutItem = manager.GetLayoutItemFromModel( anchorable ) as LayoutAnchorableItem;
if( anchorableLayoutItem == null ||
anchorableLayoutItem.HideCommand == null ||
!anchorableLayoutItem.HideCommand.CanExecute( parameter ) )
{
return false;
}
}
return true;
}
protected override void DoHide()
{
this.OnExecuteHideWindowCommand( null );
}
#endregion #endregion
#region Private Methods #region Private Methods
@ -288,39 +336,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
private bool CanExecuteHideWindowCommand( object parameter ) private bool CanExecuteHideWindowCommand( object parameter )
{ {
if( Model == null ) return this.CanHide( parameter );
return false;
var root = Model.Root;
if( root == null )
return false;
var manager = root.Manager;
if( manager == null )
return false;
bool canExecute = false;
foreach( var anchorable in this.Model.Descendents().OfType<LayoutAnchorable>().ToArray() )
{
if( !anchorable.CanHide )
{
canExecute = false;
break;
}
var anchorableLayoutItem = manager.GetLayoutItemFromModel( anchorable ) as LayoutAnchorableItem;
if( anchorableLayoutItem == null ||
anchorableLayoutItem.HideCommand == null ||
!anchorableLayoutItem.HideCommand.CanExecute( parameter ) )
{
canExecute = false;
break;
}
canExecute = true;
}
return canExecute;
} }
private void OnExecuteHideWindowCommand( object parameter ) private void OnExecuteHideWindowCommand( object parameter )
@ -343,39 +359,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
private bool CanExecuteCloseWindowCommand( object parameter ) private bool CanExecuteCloseWindowCommand( object parameter )
{ {
if( Model == null ) return this.CanClose( parameter );
return false;
var root = Model.Root;
if( root == null )
return false;
var manager = root.Manager;
if( manager == null )
return false;
bool canExecute = false;
foreach( var anchorable in this.Model.Descendents().OfType<LayoutAnchorable>().ToArray() )
{
if( !anchorable.CanClose )
{
canExecute = false;
break;
}
var anchorableLayoutItem = manager.GetLayoutItemFromModel( anchorable ) as LayoutAnchorableItem;
if( anchorableLayoutItem == null ||
anchorableLayoutItem.CloseCommand == null ||
!anchorableLayoutItem.CloseCommand.CanExecute( parameter ) )
{
canExecute = false;
break;
}
canExecute = true;
}
return canExecute;
} }
private void OnExecuteCloseWindowCommand( object parameter ) private void OnExecuteCloseWindowCommand( object parameter )
@ -437,7 +421,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
if( draggingWindow.Model is LayoutDocumentFloatingWindow ) if( draggingWindow.Model is LayoutDocumentFloatingWindow )
return _dropAreas; return _dropAreas;
var rootVisual = ( Content as FloatingWindowContentHost ).RootVisual; var rootVisual = this.Content as System.Windows.Media.Visual;
foreach( var areaHost in rootVisual.FindVisualChildren<LayoutAnchorablePaneControl>() ) foreach( var areaHost in rootVisual.FindVisualChildren<LayoutAnchorablePaneControl>() )
{ {

18
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableItem.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -288,6 +289,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
_anchorable = model as LayoutAnchorable; _anchorable = model as LayoutAnchorable;
_anchorable.IsVisibleChanged += new EventHandler( _anchorable_IsVisibleChanged ); _anchorable.IsVisibleChanged += new EventHandler( _anchorable_IsVisibleChanged );
if( _anchorable.CanClose )
{
_anchorable.SetCanCloseInternal( true );
}
base.Attach( model ); base.Attach( model );
} }
@ -340,11 +346,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
protected override void SetDefaultBindings() protected override void SetDefaultBindings()
{ {
if( HideCommand == null ) if( HideCommand == null )
HideCommand = _defaultHideCommand; this.SetCurrentValue( LayoutAnchorableItem.HideCommandProperty, _defaultHideCommand );
if( AutoHideCommand == null ) if( AutoHideCommand == null )
AutoHideCommand = _defaultAutoHideCommand; this.SetCurrentValue( LayoutAnchorableItem.AutoHideCommandProperty, _defaultAutoHideCommand );
if( DockCommand == null ) if( DockCommand == null )
DockCommand = _defaultDockCommand; this.SetCurrentValue( LayoutAnchorableItem.DockCommandProperty, _defaultDockCommand );
Visibility = _anchorable.IsVisible ? Visibility.Visible : System.Windows.Visibility.Hidden; Visibility = _anchorable.IsVisible ? Visibility.Visible : System.Windows.Visibility.Hidden;
base.SetDefaultBindings(); base.SetDefaultBindings();

28
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -19,10 +20,11 @@ using System.Windows.Controls;
using System.Windows; using System.Windows;
using System.Windows.Data; using System.Windows.Data;
using Xceed.Wpf.AvalonDock.Layout; using Xceed.Wpf.AvalonDock.Layout;
using System.Windows.Media;
namespace Xceed.Wpf.AvalonDock.Controls namespace Xceed.Wpf.AvalonDock.Controls
{ {
public class LayoutAnchorablePaneControl : TabControl, ILayoutControl//, ILogicalChildrenContainer public class LayoutAnchorablePaneControl : LayoutCachePaneControl, ILayoutControl//, ILogicalChildrenContainer
{ {
#region Members #region Members
@ -80,9 +82,14 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
base.OnMouseLeftButtonDown( e ); base.OnMouseLeftButtonDown( e );
if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) ) var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor<DockingManager>();
if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
&& this.Model.Root.Manager.Equals(parentDockingManager))
{ {
_model.SelectedContent.IsActive = true; if (!e.Handled && (_model != null) && (_model.SelectedContent != null) )
{
_model.SelectedContent.IsActive = true;
}
} }
} }
@ -90,9 +97,14 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
base.OnMouseRightButtonDown( e ); base.OnMouseRightButtonDown( e );
if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) ) var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor<DockingManager>();
if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
&& this.Model.Root.Manager.Equals(parentDockingManager))
{ {
_model.SelectedContent.IsActive = true; if (!e.Handled && (_model != null) && (_model.SelectedContent != null))
{
_model.SelectedContent.IsActive = true;
}
} }
} }

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneGroupControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableTabItem.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAutoHideWindowControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

103
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs

@ -0,0 +1,103 @@
/*************************************************************************************
Toolkit for WPF
Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the XCEED SOFTWARE, INC.
COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids
***********************************************************************************/
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using Xceed.Wpf.AvalonDock.Layout;
namespace Xceed.Wpf.AvalonDock.Controls
{
public class LayoutCachePaneControl : TabControl
{
#region Constructors
static LayoutCachePaneControl()
{
}
#endregion
#region Properties
#endregion
#region Overrides
protected override void OnSelectionChanged( SelectionChangedEventArgs e )
{
if( this.SelectedIndex < 0 )
e.Handled = true;
base.OnSelectionChanged( e );
}
#endregion
}
}

36
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -21,6 +22,7 @@ using System.Windows.Input;
using Xceed.Wpf.AvalonDock.Layout; using Xceed.Wpf.AvalonDock.Layout;
using System.Collections; using System.Collections;
using System; using System;
using System.Windows.Media;
namespace Xceed.Wpf.AvalonDock.Controls namespace Xceed.Wpf.AvalonDock.Controls
{ {
@ -151,20 +153,34 @@ namespace Xceed.Wpf.AvalonDock.Controls
protected override void OnPreviewGotKeyboardFocus( KeyboardFocusChangedEventArgs e ) protected override void OnPreviewGotKeyboardFocus( KeyboardFocusChangedEventArgs e )
{ {
this.SetIsActive(); var setIsActive = !( (e.NewFocus != null) && (e.OldFocus != null) && (e.OldFocus is LayoutFloatingWindowControl) );
if( setIsActive )
{
this.SetIsActive();
}
base.OnPreviewGotKeyboardFocus( e ); base.OnPreviewGotKeyboardFocus( e );
} }
protected override void OnMouseLeftButtonDown( MouseButtonEventArgs e ) protected override void OnPreviewMouseLeftButtonDown( MouseButtonEventArgs e )
{ {
this.SetIsActive(); var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor<DockingManager>();
base.OnMouseLeftButtonDown( e ); if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
&& this.Model.Root.Manager.Equals(parentDockingManager))
{
this.SetIsActive();
}
base.OnPreviewMouseLeftButtonDown( e );
} }
protected override void OnMouseRightButtonDown( MouseButtonEventArgs e ) protected override void OnPreviewMouseRightButtonDown( MouseButtonEventArgs e )
{ {
this.SetIsActive(); var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor<DockingManager>();
base.OnMouseLeftButtonDown( e ); if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
&& this.Model.Root.Manager.Equals(parentDockingManager))
{
this.SetIsActive();
}
base.OnPreviewMouseRightButtonDown( e );
} }

45
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -19,6 +20,7 @@ using Xceed.Wpf.AvalonDock.Layout;
using System.Windows; using System.Windows;
using System.Windows.Controls.Primitives; using System.Windows.Controls.Primitives;
using Microsoft.Windows.Shell; using Microsoft.Windows.Shell;
using System.Linq;
namespace Xceed.Wpf.AvalonDock.Controls namespace Xceed.Wpf.AvalonDock.Controls
{ {
@ -121,18 +123,41 @@ namespace Xceed.Wpf.AvalonDock.Controls
protected override void OnClosed( EventArgs e ) protected override void OnClosed( EventArgs e )
{ {
var root = Model.Root;
root.Manager.RemoveFloatingWindow( this );
root.CollectGarbage();
base.OnClosed( e ); base.OnClosed( e );
if( !CloseInitiatedByUser ) _model.RootDocumentChanged -= new EventHandler( _model_RootDocumentChanged );
}
protected override bool CanClose( object parameter = null )
{
if( this.Model == null )
return false;
var root = this.Model.Root;
if( root == null )
return false;
var manager = root.Manager;
if( manager == null )
return false;
foreach( var document in this.Model.Descendents().OfType<LayoutDocument>().ToArray() )
{ {
root.FloatingWindows.Remove( _model ); if( !document.CanClose )
{
return false;
}
var documentLayoutItem = manager.GetLayoutItemFromModel( document ) as LayoutDocumentItem;
if( documentLayoutItem == null ||
documentLayoutItem.CloseCommand == null ||
!documentLayoutItem.CloseCommand.CanExecute( parameter ) )
{
return false;
}
} }
_model.RootDocumentChanged -= new EventHandler( _model_RootDocumentChanged ); return true;
} }
#endregion #endregion

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentItem.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

92
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -20,10 +21,11 @@ using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Data; using System.Windows.Data;
using Xceed.Wpf.AvalonDock.Layout; using Xceed.Wpf.AvalonDock.Layout;
using System.Windows.Media;
namespace Xceed.Wpf.AvalonDock.Controls namespace Xceed.Wpf.AvalonDock.Controls
{ {
public class LayoutDocumentPaneControl : TabControl, ILayoutControl//, ILogicalChildrenContainer public class LayoutDocumentPaneControl : LayoutCachePaneControl, ILayoutControl//, ILogicalChildrenContainer
{ {
#region Members #region Members
@ -55,32 +57,6 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Properties #region Properties
#region Model #region Model
public ILayoutElement Model public ILayoutElement Model
@ -117,17 +93,30 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
base.OnMouseLeftButtonDown( e ); base.OnMouseLeftButtonDown( e );
if( !e.Handled && _model.SelectedContent != null ) var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor<DockingManager>();
_model.SelectedContent.IsActive = true; if( ( this.Model != null ) && ( this.Model.Root != null ) && ( this.Model.Root.Manager != null )
&& this.Model.Root.Manager.Equals( parentDockingManager ) )
{
if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) )
{
_model.SelectedContent.IsActive = true;
}
}
} }
protected override void OnMouseRightButtonDown( System.Windows.Input.MouseButtonEventArgs e ) protected override void OnMouseRightButtonDown( System.Windows.Input.MouseButtonEventArgs e )
{ {
base.OnMouseRightButtonDown( e ); base.OnMouseRightButtonDown( e );
if( !e.Handled && _model.SelectedContent != null ) var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor<DockingManager>();
_model.SelectedContent.IsActive = true; if( ( this.Model != null ) && ( this.Model.Root != null ) && ( this.Model.Root.Manager != null )
&& this.Model.Root.Manager.Equals( parentDockingManager ) )
{
if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) )
{
_model.SelectedContent.IsActive = true;
}
}
} }
@ -137,35 +126,14 @@ namespace Xceed.Wpf.AvalonDock.Controls
private void OnLayoutUpdated( object sender, EventArgs e ) private void OnLayoutUpdated( object sender, EventArgs e )
{ {
var modelWithAtcualSize = _model as ILayoutPositionableElementWithActualSize; if( this.IsLoaded )
modelWithAtcualSize.ActualWidth = ActualWidth; {
modelWithAtcualSize.ActualHeight = ActualHeight; var modelWithAtcualSize = _model as ILayoutPositionableElementWithActualSize;
modelWithAtcualSize.ActualWidth = ActualWidth;
modelWithAtcualSize.ActualHeight = ActualHeight;
}
} }
#endregion #endregion
} }
} }

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneGroupControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentTabItem.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

321
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -26,6 +27,7 @@ using System.Windows.Media;
using Xceed.Wpf.AvalonDock.Layout; using Xceed.Wpf.AvalonDock.Layout;
using System.Windows.Documents; using System.Windows.Documents;
using Xceed.Wpf.AvalonDock.Themes; using Xceed.Wpf.AvalonDock.Themes;
using Standard;
namespace Xceed.Wpf.AvalonDock.Controls namespace Xceed.Wpf.AvalonDock.Controls
{ {
@ -87,7 +89,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
/// IsContentImmutable Dependency Property /// IsContentImmutable Dependency Property
/// </summary> /// </summary>
public static readonly DependencyProperty IsContentImmutableProperty = DependencyProperty.Register( "IsContentImmutable", typeof( bool ), typeof( LayoutFloatingWindowControl ), public static readonly DependencyProperty IsContentImmutableProperty = DependencyProperty.Register( "IsContentImmutable", typeof( bool ), typeof( LayoutFloatingWindowControl ),
new FrameworkPropertyMetadata( (bool)false ) ); new FrameworkPropertyMetadata( ( bool )false ) );
/// <summary> /// <summary>
/// Gets/sets the IsContentImmutable property. This dependency property /// Gets/sets the IsContentImmutable property. This dependency property
@ -97,7 +99,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
get get
{ {
return (bool)GetValue( IsContentImmutableProperty ); return ( bool )GetValue( IsContentImmutableProperty );
} }
private set private set
{ {
@ -221,13 +223,16 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
if( !_isInternalChange ) if( !_isInternalChange )
{ {
if( WindowState == WindowState.Maximized ) if( this.WindowState == WindowState.Maximized )
{ {
UpdateMaximizedState( true ); this.UpdateMaximizedState( true );
} }
else else
{ {
WindowState = IsMaximized ? WindowState.Maximized : WindowState.Normal; if( this.IsMaximized )
{
this.WindowState = WindowState.Maximized;
}
} }
} }
@ -240,13 +245,37 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region Overrides #region Overrides
protected override void OnClosing( System.ComponentModel.CancelEventArgs e )
{
if( this.CloseInitiatedByUser && !this.KeepContentVisibleOnClose )
{
// model.CanClose is false, can we hide ?
if( !this.CanClose() )
{
// Cancel the closing because we are hiding or nothing to do on (Alt + F4).
e.Cancel = true;
if( this.CanHide() )
{
// Just hiding.
this.DoHide();
}
}
}
base.OnClosing( e );
}
protected override void OnClosed( EventArgs e ) protected override void OnClosed( EventArgs e )
{ {
if( Content != null ) var root = this.Model.Root;
if( root != null )
{ {
var host = Content as FloatingWindowContentHost; root.Manager.RemoveFloatingWindow( this );
host.Dispose(); root.CollectGarbage();
}
if( this.Content != null )
{
if( _hwndSrc != null ) if( _hwndSrc != null )
{ {
_hwndSrc.RemoveHook( _hwndSrcHook ); _hwndSrc.RemoveHook( _hwndSrcHook );
@ -256,6 +285,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
} }
base.OnClosed( e ); base.OnClosed( e );
if( !this.CloseInitiatedByUser && ( root != null ) )
{
root.FloatingWindows.Remove( this.Model as LayoutFloatingWindow );
}
} }
protected override void OnInitialized( EventArgs e ) protected override void OnInitialized( EventArgs e )
@ -272,6 +306,30 @@ namespace Xceed.Wpf.AvalonDock.Controls
base.OnInitialized( e ); base.OnInitialized( e );
} }
protected override void OnPreviewKeyDown( KeyEventArgs e )
{
if( Keyboard.IsKeyDown( Key.LeftCtrl ) || Keyboard.IsKeyDown( Key.RightCtrl ) )
{
if( e.IsDown && e.Key == Key.Tab )
{
if( ( this.Model != null ) && ( this.Model.Root != null ) )
{
var manager = this.Model.Root.Manager;
if( manager != null )
{
if( !manager.IsNavigatorWindowActive )
{
manager.ShowNavigatorWindow();
e.Handled = true;
}
}
}
}
}
base.OnPreviewKeyDown( e );
}
#endregion #endregion
@ -314,6 +372,20 @@ namespace Xceed.Wpf.AvalonDock.Controls
} }
} }
protected virtual bool CanClose( object parameter = null )
{
return false;
}
protected virtual bool CanHide( object parameter = null )
{
return false;
}
protected virtual void DoHide()
{
}
internal void AttachDrag( bool onActivated = true ) internal void AttachDrag( bool onActivated = true )
{ {
if( onActivated ) if( onActivated )
@ -335,6 +407,34 @@ namespace Xceed.Wpf.AvalonDock.Controls
switch( msg ) switch( msg )
{ {
case Win32Helper.NCCALCSIZE:
if( wParam != IntPtr.Zero )
{
handled = true;
var client = (RECT)Marshal.PtrToStructure( lParam, typeof( RECT ) );
client.Bottom -= 1;
Marshal.StructureToPtr( client, lParam, false );
}
break;
//case Win32Helper.WM_NCHITTEST:
// {
// handled = true;
// //var htLocation = DefWindowProc( hwnd, msg, wParam, lParam ).ToInt32();
// //switch( htLocation )
// //{
// // case (int)HitTestResult.HTBOTTOM:
// // case (int)HitTestResult.HTBOTTOMLEFT:
// // case (int)HitTestResult.HTBOTTOMRIGHT:
// // case (int)HitTestResult.HTLEFT:
// // case (int)HitTestResult.HTRIGHT:
// // case (int)HitTestResult.HTTOP:
// // case (int)HitTestResult.HTTOPLEFT:
// // case (int)HitTestResult.HTTOPRIGHT:
// // htLocation = (int)HitTestResult.HTBORDER;
// }
// break;
case Win32Helper.WM_ACTIVATE: case Win32Helper.WM_ACTIVATE:
if( ( (int)wParam & 0xFFFF ) == Win32Helper.WA_INACTIVE ) if( ( (int)wParam & 0xFFFF ) == Win32Helper.WA_INACTIVE )
{ {
@ -413,7 +513,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
if( lfwc.IsLoaded && lfwc.IsContentImmutable ) if( lfwc.IsLoaded && lfwc.IsContentImmutable )
return lfwc.Content; return lfwc.Content;
return new FloatingWindowContentHost( sender as LayoutFloatingWindowControl ) { Content = content as UIElement }; return content;
} }
return null; return null;
} }
@ -507,202 +607,5 @@ namespace Xceed.Wpf.AvalonDock.Controls
} }
#endregion #endregion
#region Internal Classes
protected internal class FloatingWindowContentHost : HwndHost
{
#region Members
private LayoutFloatingWindowControl _owner;
private HwndSource _wpfContentHost = null;
private Border _rootPresenter = null;
private DockingManager _manager = null;
#endregion
#region Constructors
public FloatingWindowContentHost( LayoutFloatingWindowControl owner )
{
_owner = owner;
var manager = _owner.Model.Root.Manager;
var binding = new Binding( "SizeToContent" ) { Source = _owner };
BindingOperations.SetBinding( this, FloatingWindowContentHost.SizeToContentProperty, binding );
}
#endregion
#region Properties
#region RootVisual
public Visual RootVisual
{
get
{
return _rootPresenter;
}
}
#endregion
#region Content
/// <summary>
/// Content Dependency Property
/// </summary>
public static readonly DependencyProperty ContentProperty = DependencyProperty.Register( "Content", typeof( UIElement ), typeof( FloatingWindowContentHost ),
new FrameworkPropertyMetadata( ( UIElement )null, new PropertyChangedCallback( OnContentChanged ) ) );
/// <summary>
/// Gets or sets the Content property. This dependency property
/// indicates ....
/// </summary>
public UIElement Content
{
get
{
return ( UIElement )GetValue( ContentProperty );
}
set
{
SetValue( ContentProperty, value );
}
}
/// <summary>
/// Handles changes to the Content property.
/// </summary>
private static void OnContentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( ( FloatingWindowContentHost )d ).OnContentChanged( (UIElement)e.OldValue, (UIElement)e.NewValue );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the Content property.
/// </summary>
protected virtual void OnContentChanged( UIElement oldValue, UIElement newValue )
{
if( _rootPresenter != null )
_rootPresenter.Child = Content;
var oldContent = oldValue as FrameworkElement;
if( oldContent != null )
{
oldContent.SizeChanged -= this.Content_SizeChanged;
}
var newContent = newValue as FrameworkElement;
if( newContent != null )
{
newContent.SizeChanged += this.Content_SizeChanged;
}
}
#endregion
#region SizeToContent
/// <summary>
/// SizeToContent Dependency Property
/// </summary>
public static readonly DependencyProperty SizeToContentProperty = DependencyProperty.Register( "SizeToContent", typeof( SizeToContent ), typeof( FloatingWindowContentHost ),
new FrameworkPropertyMetadata( SizeToContent.Manual, new PropertyChangedCallback( OnSizeToContentChanged ) ) );
/// <summary>
/// Gets or sets the SizeToContent property.
/// </summary>
public SizeToContent SizeToContent
{
get
{
return (SizeToContent)GetValue( SizeToContentProperty );
}
set
{
SetValue( SizeToContentProperty, value );
}
}
/// <summary>
/// Handles changes to the SizeToContent property.
/// </summary>
private static void OnSizeToContentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{
( (FloatingWindowContentHost)d ).OnSizeToContentChanged( (SizeToContent)e.OldValue, (SizeToContent)e.NewValue );
}
/// <summary>
/// Provides derived classes an opportunity to handle changes to the SizeToContent property.
/// </summary>
protected virtual void OnSizeToContentChanged( SizeToContent oldValue, SizeToContent newValue )
{
if( _wpfContentHost != null )
{
_wpfContentHost.SizeToContent = newValue;
}
}
#endregion
#endregion
#region Overrides
protected override System.Runtime.InteropServices.HandleRef BuildWindowCore( System.Runtime.InteropServices.HandleRef hwndParent )
{
_wpfContentHost = new HwndSource( new HwndSourceParameters()
{
ParentWindow = hwndParent.Handle,
WindowStyle = Win32Helper.WS_CHILD | Win32Helper.WS_VISIBLE | Win32Helper.WS_CLIPSIBLINGS | Win32Helper.WS_CLIPCHILDREN,
Width = 1,
Height = 1
} );
_rootPresenter = new Border() { Child = new AdornerDecorator() { Child = Content }, Focusable = true };
_rootPresenter.SetBinding( Border.BackgroundProperty, new Binding( "Background" ) { Source = _owner } );
_wpfContentHost.RootVisual = _rootPresenter;
_manager = _owner.Model.Root.Manager;
_manager.InternalAddLogicalChild( _rootPresenter );
return new HandleRef( this, _wpfContentHost.Handle );
}
protected override void DestroyWindowCore( HandleRef hwnd )
{
_manager.InternalRemoveLogicalChild( _rootPresenter );
if( _wpfContentHost != null )
{
_wpfContentHost.Dispose();
_wpfContentHost = null;
}
}
protected override Size MeasureOverride( Size constraint )
{
if( Content == null )
return base.MeasureOverride( constraint );
Content.Measure( constraint );
return Content.DesiredSize;
}
#endregion
#region Event Handlers
private void Content_SizeChanged( object sender, SizeChangedEventArgs e )
{
this.InvalidateMeasure();
this.InvalidateArrange();
}
#endregion
}
#endregion
} }
} }

23
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -413,9 +414,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
if( prevChildModel.DockWidth.IsStar ) if( prevChildModel.DockWidth.IsStar )
{ {
var width = prevChildModel.DockWidth.Value * ( prevChildActualSize.Width + delta ) / prevChildActualSize.Width; prevChildModel.DockWidth = new GridLength( prevChildActualSize.Width + delta, GridUnitType.Star );
var widthToSet = Math.Max( width, prevChildModel.DockMinWidth );
prevChildModel.DockWidth = new GridLength( widthToSet, GridUnitType.Star );
} }
else else
{ {
@ -429,9 +428,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
if( nextChildModel.DockWidth.IsStar ) if( nextChildModel.DockWidth.IsStar )
{ {
var width = nextChildModel.DockWidth.Value * ( nextChildActualSize.Width - delta ) / nextChildActualSize.Width; nextChildModel.DockWidth = new GridLength( nextChildActualSize.Width - delta, GridUnitType.Star );
var widthToSet = Math.Max( width, nextChildModel.DockMinWidth );
nextChildModel.DockWidth = new GridLength( widthToSet, GridUnitType.Star );
} }
else else
{ {
@ -446,9 +443,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
if( prevChildModel.DockHeight.IsStar ) if( prevChildModel.DockHeight.IsStar )
{ {
var height = prevChildModel.DockHeight.Value * ( prevChildActualSize.Height + delta ) / prevChildActualSize.Height; prevChildModel.DockHeight = new GridLength( prevChildActualSize.Height + delta, GridUnitType.Star );
var heightToSet = Math.Max( height, prevChildModel.DockMinHeight );
prevChildModel.DockHeight = new GridLength( heightToSet, GridUnitType.Star );
} }
else else
{ {
@ -462,9 +457,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
if( nextChildModel.DockHeight.IsStar ) if( nextChildModel.DockHeight.IsStar )
{ {
var height = nextChildModel.DockHeight.Value * ( nextChildActualSize.Height - delta ) / nextChildActualSize.Height; nextChildModel.DockHeight = new GridLength( nextChildActualSize.Height - delta, GridUnitType.Star );
var heightToSet = Math.Max( height, nextChildModel.DockMinHeight );
nextChildModel.DockHeight = new GridLength( heightToSet, GridUnitType.Star );
} }
else else
{ {

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridResizerControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

33
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutItem.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -346,6 +347,12 @@ namespace Xceed.Wpf.AvalonDock.Controls
#region CanClose #region CanClose
/// <summary> /// <summary>
@ -1153,25 +1160,25 @@ namespace Xceed.Wpf.AvalonDock.Controls
protected virtual void SetDefaultBindings() protected virtual void SetDefaultBindings()
{ {
if( CloseCommand == null ) if( CloseCommand == null )
CloseCommand = _defaultCloseCommand; this.SetCurrentValue( LayoutItem.CloseCommandProperty, _defaultCloseCommand );
if( FloatCommand == null ) if( FloatCommand == null )
FloatCommand = _defaultFloatCommand; this.SetCurrentValue( LayoutItem.FloatCommandProperty, _defaultFloatCommand );
if( DockAsDocumentCommand == null ) if( DockAsDocumentCommand == null )
DockAsDocumentCommand = _defaultDockAsDocumentCommand; this.SetCurrentValue( LayoutItem.DockAsDocumentCommandProperty, _defaultDockAsDocumentCommand );
if( CloseAllButThisCommand == null ) if( CloseAllButThisCommand == null )
CloseAllButThisCommand = _defaultCloseAllButThisCommand; this.SetCurrentValue( LayoutItem.CloseAllButThisCommandProperty, _defaultCloseAllButThisCommand );
if( CloseAllCommand == null ) if( CloseAllCommand == null )
CloseAllCommand = _defaultCloseAllCommand; this.SetCurrentValue( LayoutItem.CloseAllCommandProperty, _defaultCloseAllCommand );
if( ActivateCommand == null ) if( ActivateCommand == null )
ActivateCommand = _defaultActivateCommand; this.SetCurrentValue( LayoutItem.ActivateCommandProperty, _defaultActivateCommand );
if( NewVerticalTabGroupCommand == null ) if( NewVerticalTabGroupCommand == null )
NewVerticalTabGroupCommand = _defaultNewVerticalTabGroupCommand; this.SetCurrentValue( LayoutItem.NewVerticalTabGroupCommandProperty, _defaultNewVerticalTabGroupCommand );
if( NewHorizontalTabGroupCommand == null ) if( NewHorizontalTabGroupCommand == null )
NewHorizontalTabGroupCommand = _defaultNewHorizontalTabGroupCommand; this.SetCurrentValue( LayoutItem.NewHorizontalTabGroupCommandProperty, _defaultNewHorizontalTabGroupCommand );
if( MoveToNextTabGroupCommand == null ) if( MoveToNextTabGroupCommand == null )
MoveToNextTabGroupCommand = _defaultMoveToNextTabGroupCommand; this.SetCurrentValue( LayoutItem.MoveToNextTabGroupCommandProperty, _defaultMoveToNextTabGroupCommand );
if( MoveToPreviousTabGroupCommand == null ) if( MoveToPreviousTabGroupCommand == null )
MoveToPreviousTabGroupCommand = _defaultMoveToPreviousTabGroupCommand; this.SetCurrentValue( LayoutItem.MoveToPreviousTabGroupCommandProperty, _defaultMoveToPreviousTabGroupCommand );
IsSelected = LayoutElement.IsSelected; IsSelected = LayoutElement.IsSelected;

15
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutPanelControl.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -65,9 +66,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
// childPositionableModel.DockWidth = new GridLength( 1.0, GridUnitType.Star ); // childPositionableModel.DockWidth = new GridLength( 1.0, GridUnitType.Star );
} }
else if( childPositionableModel != null && childPositionableModel.DockWidth.IsStar ) else if( (childPositionableModel != null) && childPositionableModel.DockWidth.IsStar )
{ {
var childPositionableModelWidthActualSize = childPositionableModel as ILayoutPositionableElementWithActualSize; var childPositionableModelWidthActualSize = childPositionableModel as ILayoutPositionableElementWithActualSize;
if( childPositionableModelWidthActualSize.ActualWidth == 0d )
continue;
var widthToSet = Math.Max( childPositionableModelWidthActualSize.ActualWidth, childPositionableModel.DockMinWidth ); var widthToSet = Math.Max( childPositionableModelWidthActualSize.ActualWidth, childPositionableModel.DockMinWidth );
@ -105,9 +108,11 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
//childPositionableModel.DockHeight = new GridLength( 1.0, GridUnitType.Star ); //childPositionableModel.DockHeight = new GridLength( 1.0, GridUnitType.Star );
} }
else if( childPositionableModel != null && childPositionableModel.DockHeight.IsStar ) else if( (childPositionableModel != null) && childPositionableModel.DockHeight.IsStar )
{ {
var childPositionableModelWidthActualSize = childPositionableModel as ILayoutPositionableElementWithActualSize; var childPositionableModelWidthActualSize = childPositionableModel as ILayoutPositionableElementWithActualSize;
if( childPositionableModelWidthActualSize.ActualHeight == 0d )
continue;
var heightToSet = Math.Max( childPositionableModelWidthActualSize.ActualHeight, childPositionableModel.DockMinHeight ); var heightToSet = Math.Max( childPositionableModelWidthActualSize.ActualHeight, childPositionableModel.DockMinHeight );
heightToSet = Math.Min( heightToSet, ActualHeight / 2.0 ); heightToSet = Math.Min( heightToSet, ActualHeight / 2.0 );

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/MenuItemEx.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

67
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/NavigatorWindow.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/
@ -20,6 +21,9 @@ using System.Windows;
using Xceed.Wpf.AvalonDock.Layout; using Xceed.Wpf.AvalonDock.Layout;
using Xceed.Wpf.AvalonDock.Themes; using Xceed.Wpf.AvalonDock.Themes;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Threading;
using System;
namespace Xceed.Wpf.AvalonDock.Controls namespace Xceed.Wpf.AvalonDock.Controls
{ {
@ -56,8 +60,8 @@ namespace Xceed.Wpf.AvalonDock.Controls
_manager = manager; _manager = manager;
_internalSetSelectedDocument = true; _internalSetSelectedDocument = true;
this.SetAnchorables( _manager.Layout.Descendents().OfType<LayoutAnchorable>().Where( a => a.IsVisible ).Select( d => ( LayoutAnchorableItem )_manager.GetLayoutItemFromModel( d ) ).ToArray() ); this.SetAnchorables( _manager.Layout.Descendents().OfType<LayoutAnchorable>().Where( a => a.IsVisible ).Select( d => (LayoutAnchorableItem)_manager.GetLayoutItemFromModel( d ) ).ToArray() );
this.SetDocuments( _manager.Layout.Descendents().OfType<LayoutDocument>().OrderByDescending( d => d.LastActivationTimeStamp.GetValueOrDefault() ).Select( d => ( LayoutDocumentItem )_manager.GetLayoutItemFromModel( d ) ).ToArray() ); this.SetDocuments( _manager.Layout.Descendents().OfType<LayoutDocument>().OrderByDescending( d => d.LastActivationTimeStamp.GetValueOrDefault() ).Select( d => (LayoutDocumentItem)_manager.GetLayoutItemFromModel( d ) ).ToArray() );
_internalSetSelectedDocument = false; _internalSetSelectedDocument = false;
if( this.Documents.Length > 1 ) if( this.Documents.Length > 1 )
@ -101,7 +105,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
get get
{ {
return ( LayoutDocumentItem[] )GetValue( DocumentsProperty ); return (LayoutDocumentItem[])GetValue( DocumentsProperty );
} }
} }
@ -113,7 +117,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
/// Anchorables Read-Only Dependency Property /// Anchorables Read-Only Dependency Property
/// </summary> /// </summary>
private static readonly DependencyPropertyKey AnchorablesPropertyKey = DependencyProperty.RegisterReadOnly( "Anchorables", typeof( IEnumerable<LayoutAnchorableItem> ), typeof( NavigatorWindow ), private static readonly DependencyPropertyKey AnchorablesPropertyKey = DependencyProperty.RegisterReadOnly( "Anchorables", typeof( IEnumerable<LayoutAnchorableItem> ), typeof( NavigatorWindow ),
new FrameworkPropertyMetadata( ( IEnumerable<LayoutAnchorableItem> )null ) ); new FrameworkPropertyMetadata( (IEnumerable<LayoutAnchorableItem>)null ) );
public static readonly DependencyProperty AnchorablesProperty = AnchorablesPropertyKey.DependencyProperty; public static readonly DependencyProperty AnchorablesProperty = AnchorablesPropertyKey.DependencyProperty;
@ -125,7 +129,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
get get
{ {
return ( IEnumerable<LayoutAnchorableItem> )GetValue( AnchorablesProperty ); return (IEnumerable<LayoutAnchorableItem>)GetValue( AnchorablesProperty );
} }
} }
@ -137,7 +141,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
/// SelectedDocument Dependency Property /// SelectedDocument Dependency Property
/// </summary> /// </summary>
public static readonly DependencyProperty SelectedDocumentProperty = DependencyProperty.Register( "SelectedDocument", typeof( LayoutDocumentItem ), typeof( NavigatorWindow ), public static readonly DependencyProperty SelectedDocumentProperty = DependencyProperty.Register( "SelectedDocument", typeof( LayoutDocumentItem ), typeof( NavigatorWindow ),
new FrameworkPropertyMetadata( ( LayoutDocumentItem )null, new PropertyChangedCallback( OnSelectedDocumentChanged ) ) ); new FrameworkPropertyMetadata( (LayoutDocumentItem)null, new PropertyChangedCallback( OnSelectedDocumentChanged ) ) );
/// <summary> /// <summary>
/// Gets or sets the SelectedDocument property. This dependency property /// Gets or sets the SelectedDocument property. This dependency property
@ -147,7 +151,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
get get
{ {
return ( LayoutDocumentItem )GetValue( SelectedDocumentProperty ); return (LayoutDocumentItem)GetValue( SelectedDocumentProperty );
} }
set set
{ {
@ -160,7 +164,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
/// </summary> /// </summary>
private static void OnSelectedDocumentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e ) private static void OnSelectedDocumentChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{ {
( ( NavigatorWindow )d ).OnSelectedDocumentChanged( e ); ( (NavigatorWindow)d ).OnSelectedDocumentChanged( e );
} }
/// <summary> /// <summary>
@ -187,7 +191,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
/// SelectedAnchorable Dependency Property /// SelectedAnchorable Dependency Property
/// </summary> /// </summary>
public static readonly DependencyProperty SelectedAnchorableProperty = DependencyProperty.Register( "SelectedAnchorable", typeof( LayoutAnchorableItem ), typeof( NavigatorWindow ), public static readonly DependencyProperty SelectedAnchorableProperty = DependencyProperty.Register( "SelectedAnchorable", typeof( LayoutAnchorableItem ), typeof( NavigatorWindow ),
new FrameworkPropertyMetadata( ( LayoutAnchorableItem )null, new PropertyChangedCallback( OnSelectedAnchorableChanged ) ) ); new FrameworkPropertyMetadata( (LayoutAnchorableItem)null, new PropertyChangedCallback( OnSelectedAnchorableChanged ) ) );
/// <summary> /// <summary>
/// Gets or sets the SelectedAnchorable property. This dependency property /// Gets or sets the SelectedAnchorable property. This dependency property
@ -197,7 +201,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
get get
{ {
return ( LayoutAnchorableItem )GetValue( SelectedAnchorableProperty ); return (LayoutAnchorableItem)GetValue( SelectedAnchorableProperty );
} }
set set
{ {
@ -210,7 +214,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
/// </summary> /// </summary>
private static void OnSelectedAnchorableChanged( DependencyObject d, DependencyPropertyChangedEventArgs e ) private static void OnSelectedAnchorableChanged( DependencyObject d, DependencyPropertyChangedEventArgs e )
{ {
( ( NavigatorWindow )d ).OnSelectedAnchorableChanged( e ); ( (NavigatorWindow)d ).OnSelectedAnchorableChanged( e );
} }
/// <summary> /// <summary>
@ -265,7 +269,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
if( e.Key == System.Windows.Input.Key.Tab ) if( e.Key == System.Windows.Input.Key.Tab )
{ {
// Jump to next LayoutDocument // Jump to next LayoutDocument
if( ( docIndex < ( this.Documents.Length - 1 ) ) if( ( docIndex < ( this.Documents.Length - 1 ) )
|| ( this.Anchorables.Count() == 0 ) ) || ( this.Anchorables.Count() == 0 ) )
{ {
this.SelectNextDocument(); this.SelectNextDocument();
@ -409,6 +413,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
this.SelectedDocument.ActivateCommand.CanExecute( null ) ) this.SelectedDocument.ActivateCommand.CanExecute( null ) )
{ {
this.SelectedDocument.ActivateCommand.Execute( null ); this.SelectedDocument.ActivateCommand.Execute( null );
this.FocusContent( this.SelectedDocument );
} }
if( this.SelectedDocument == null && if( this.SelectedDocument == null &&
@ -416,6 +421,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
this.SelectedAnchorable.ActivateCommand.CanExecute( null ) ) this.SelectedAnchorable.ActivateCommand.CanExecute( null ) )
{ {
this.SelectedAnchorable.ActivateCommand.Execute( null ); this.SelectedAnchorable.ActivateCommand.Execute( null );
this.FocusContent( this.SelectedAnchorable );
} }
e.Handled = true; e.Handled = true;
@ -475,7 +481,7 @@ namespace Xceed.Wpf.AvalonDock.Controls
{ {
if( _manager.Theme is DictionaryTheme ) if( _manager.Theme is DictionaryTheme )
{ {
currentThemeResourceDictionary = ( ( DictionaryTheme )_manager.Theme ).ThemeResourceDictionary; currentThemeResourceDictionary = ( (DictionaryTheme)_manager.Theme ).ThemeResourceDictionary;
this.Resources.MergedDictionaries.Add( currentThemeResourceDictionary ); this.Resources.MergedDictionaries.Add( currentThemeResourceDictionary );
} }
else else
@ -571,15 +577,40 @@ namespace Xceed.Wpf.AvalonDock.Controls
} }
} }
private void FocusContent( LayoutItem layoutItem )
{
if( ( layoutItem == null ) || ( layoutItem.LayoutElement == null ) )
return;
// Set focus inside selected LayoutItem.
var content = layoutItem.LayoutElement.Content as UIElement;
if( content != null )
{
this.Dispatcher.BeginInvoke( DispatcherPriority.Input, new Action( () =>
{
if( content.Focusable )
{
content.Focus();
}
else
{
content.MoveFocus( new TraversalRequest( FocusNavigationDirection.Next ) );
}
}
) );
}
}
private void OnLoaded( object sender, RoutedEventArgs e ) private void OnLoaded( object sender, RoutedEventArgs e )
{ {
this.Loaded -= new RoutedEventHandler( OnLoaded ); this.Loaded -= new RoutedEventHandler( OnLoaded );
if( ( _documentListBox != null ) && (this.SelectedDocument != null) ) if( ( _documentListBox != null ) && ( this.SelectedDocument != null ) )
{ {
_documentListBox.Focus(); _documentListBox.Focus();
} }
else if( ( _anchorableListBox != null ) && (this.SelectedAnchorable != null) ) else if( ( _anchorableListBox != null ) && ( this.SelectedAnchorable != null ) )
{ {
_anchorableListBox.Focus(); _anchorableListBox.Focus();
} }

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayArea.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindow.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTarget.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/OverlayWindowDropTargetType.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/ReentrantFlag.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ComGuids.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Debug.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DoubleUtil.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/DpiHelper.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ErrorCodes.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/MessageWindow.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/NativeMethods.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/ShellProvider.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/StreamHelper.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Utilities.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/Standard/Verify.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemCommands.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/SystemParameters2.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChrome.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/Shell/WindowChromeWorker.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/TransformExtentions.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WeakDictionary.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowActivateEventArgs.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/WindowHookHandler.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/ActivateCommandLayoutItemFromLayoutModelConverter.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToAngleConverter.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorSideToOrientationConverter.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AnchorableContextMenuHideVisibilityConverter.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

7
ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Converters/AutoHideCommandLayoutItemFromLayoutModelConverter.cs

@ -2,10 +2,11 @@
Toolkit for WPF Toolkit for WPF
Copyright (C) 2007-2019 Xceed Software Inc. Copyright (C) 2007-2020 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public This program is provided to you under the terms of the XCEED SOFTWARE, INC.
License (Ms-PL) as published at https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
https://github.com/xceedsoftware/wpftoolkit/blob/master/license.md
For more features, controls, and fast professional support, For more features, controls, and fast professional support,
pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/ pick up the Plus Edition at https://xceed.com/xceed-toolkit-plus-for-wpf/

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save