diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml
index 4553b6578..b9f950313 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Aero/Theme.xaml
@@ -131,7 +131,6 @@
CornerRadius="2">
@@ -324,7 +323,6 @@
KeyboardNavigation.TabNavigation="Cycle">
@@ -509,7 +507,7 @@
HorizontalAlignment="Center"
Command="{Binding Path=LayoutItem.HideCommand, RelativeSource={RelativeSource TemplatedParent}}"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
- ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}">
+ ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_Hide}">
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml
index a6dd99f33..f4bd1bb44 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.Metro/Theme.xaml
@@ -163,7 +163,6 @@
Padding="0,1,0,2">
@@ -334,7 +333,6 @@
KeyboardNavigation.TabNavigation="Cycle">
@@ -518,7 +516,7 @@
HorizontalAlignment="Center"
Command="{Binding Path=LayoutItem.HideCommand, RelativeSource={RelativeSource TemplatedParent}}"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
- ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}">
+ ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_Hide}">
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml
index 8bb8e729b..f93be594b 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock.Themes.VS2010/Theme.xaml
@@ -196,7 +196,6 @@
Padding="0,1,0,2">
@@ -417,7 +416,6 @@
KeyboardNavigation.TabNavigation="Cycle">
@@ -605,7 +603,7 @@
HorizontalAlignment="Center"
Command="{Binding Path=LayoutItem.HideCommand, RelativeSource={RelativeSource TemplatedParent}}"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
- ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}">
+ ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_Hide}">
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs
index 813f90f87..153eef3d1 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/DocumentPaneDropTarget.cs
@@ -61,6 +61,16 @@ protected override void Drop( LayoutDocumentFloatingWindow floatingWindow )
#region DropTargetType.DocumentPaneDockBottom
{
var newLayoutDocumentPane = new LayoutDocumentPane( floatingWindow.RootDocument );
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockHeight.IsStar )
+ {
+ targetPane.DockHeight = new GridLength( targetPane.DockHeight.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockHeight = targetPane.DockHeight;
+ }
+ }
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
if( parentModel == null )
@@ -97,6 +107,16 @@ protected override void Drop( LayoutDocumentFloatingWindow floatingWindow )
#region DropTargetType.DocumentPaneDockTop
{
var newLayoutDocumentPane = new LayoutDocumentPane( floatingWindow.RootDocument );
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockHeight.IsStar )
+ {
+ targetPane.DockHeight = new GridLength( targetPane.DockHeight.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockHeight = targetPane.DockHeight;
+ }
+ }
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
if( parentModel == null )
@@ -133,6 +153,16 @@ protected override void Drop( LayoutDocumentFloatingWindow floatingWindow )
#region DropTargetType.DocumentPaneDockLeft
{
var newLayoutDocumentPane = new LayoutDocumentPane( floatingWindow.RootDocument );
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockWidth.IsStar )
+ {
+ targetPane.DockWidth = new GridLength( targetPane.DockWidth.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockWidth = targetPane.DockWidth;
+ }
+ }
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
if( parentModel == null )
@@ -168,6 +198,16 @@ protected override void Drop( LayoutDocumentFloatingWindow floatingWindow )
#region DropTargetType.DocumentPaneDockRight
{
var newLayoutDocumentPane = new LayoutDocumentPane( floatingWindow.RootDocument );
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockWidth.IsStar )
+ {
+ targetPane.DockWidth = new GridLength( targetPane.DockWidth.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockWidth = targetPane.DockWidth;
+ }
+ }
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
if( parentModel == null )
@@ -247,6 +287,16 @@ protected override void Drop( LayoutAnchorableFloatingWindow floatingWindow )
{
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
var newLayoutDocumentPane = new LayoutDocumentPane();
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockHeight.IsStar )
+ {
+ targetPane.DockHeight = new GridLength( targetPane.DockHeight.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockHeight = targetPane.DockHeight;
+ }
+ }
if( parentModel == null )
{
@@ -286,6 +336,16 @@ protected override void Drop( LayoutAnchorableFloatingWindow floatingWindow )
{
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
var newLayoutDocumentPane = new LayoutDocumentPane();
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockHeight.IsStar )
+ {
+ targetPane.DockHeight = new GridLength( targetPane.DockHeight.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockHeight = targetPane.DockHeight;
+ }
+ }
if( parentModel == null )
{
@@ -325,6 +385,16 @@ protected override void Drop( LayoutAnchorableFloatingWindow floatingWindow )
{
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
var newLayoutDocumentPane = new LayoutDocumentPane();
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockWidth.IsStar )
+ {
+ targetPane.DockWidth = new GridLength( targetPane.DockWidth.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockWidth = targetPane.DockWidth;
+ }
+ }
if( parentModel == null )
{
@@ -365,6 +435,16 @@ protected override void Drop( LayoutAnchorableFloatingWindow floatingWindow )
{
var parentModel = targetModel.Parent as LayoutDocumentPaneGroup;
var newLayoutDocumentPane = new LayoutDocumentPane();
+ var targetPane = targetModel as ILayoutPositionableElement;
+ if( targetPane != null )
+ {
+ // Set the DockWidth of the targetPane and the newLayoutDocumentPane so they both use the same size.
+ if( targetPane.DockWidth.IsStar )
+ {
+ targetPane.DockWidth = new GridLength( targetPane.DockWidth.Value / 2d, GridUnitType.Star );
+ newLayoutDocumentPane.DockWidth = targetPane.DockWidth;
+ }
+ }
if( parentModel == null )
{
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs
index 590fce122..f1a9563e5 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorableFloatingWindowControl.cs
@@ -347,6 +347,8 @@ private void OnExecuteHideWindowCommand( object parameter )
var anchorableLayoutItem = manager.GetLayoutItemFromModel( anchorable ) as LayoutAnchorableItem;
anchorableLayoutItem.HideCommand.Execute( parameter );
}
+
+ this.BringFocusOnDockingManager();
}
#endregion
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs
index 14a3dbd82..c9ff68609 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutAnchorablePaneControl.cs
@@ -82,13 +82,17 @@ protected override void OnMouseLeftButtonDown( System.Windows.Input.MouseButtonE
{
base.OnMouseLeftButtonDown( e );
- var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor();
- if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
- && this.Model.Root.Manager.Equals(parentDockingManager))
+ if( e.OriginalSource is Visual )
{
- if (!e.Handled && (_model != null) && (_model.SelectedContent != null) )
+ var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
+
+ 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;
+ }
}
}
}
@@ -97,15 +101,19 @@ protected override void OnMouseRightButtonDown( System.Windows.Input.MouseButton
{
base.OnMouseRightButtonDown( e );
- var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor();
- if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
- && this.Model.Root.Manager.Equals(parentDockingManager))
+ if( e.OriginalSource is Visual )
{
- if (!e.Handled && (_model != null) && (_model.SelectedContent != null))
+ var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
+
+ 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;
+ }
}
- }
+ }
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs
index 45be44dfc..a92e29764 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutCachePaneControl.cs
@@ -16,9 +16,11 @@ COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
***********************************************************************************/
+using System.Collections.Generic;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
+using System.Linq;
using Xceed.Wpf.AvalonDock.Layout;
namespace Xceed.Wpf.AvalonDock.Controls
@@ -96,7 +98,6 @@ protected override void OnSelectionChanged( SelectionChangedEventArgs e )
-
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs
index 252cffdad..2e5f0b4fa 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentControl.cs
@@ -163,23 +163,33 @@ protected override void OnPreviewGotKeyboardFocus( KeyboardFocusChangedEventArgs
protected override void OnPreviewMouseLeftButtonDown( MouseButtonEventArgs e )
{
- var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor();
- if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
- && this.Model.Root.Manager.Equals(parentDockingManager))
+ if( e.OriginalSource is Visual )
{
- this.SetIsActive();
+ var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
+
+ 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 OnPreviewMouseRightButtonDown( MouseButtonEventArgs e )
{
- var parentDockingManager = ((Visual)e.OriginalSource).FindVisualAncestor();
- if ((this.Model != null) && (this.Model.Root != null) && (this.Model.Root.Manager != null)
- && this.Model.Root.Manager.Equals(parentDockingManager))
+ if( e.OriginalSource is Visual )
{
- this.SetIsActive();
+ var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
+
+ if( ( this.Model != null ) && ( this.Model.Root != null ) && ( this.Model.Root.Manager != null )
+ && this.Model.Root.Manager.Equals( parentDockingManager ) )
+ {
+ this.SetIsActive();
+ }
}
+
base.OnPreviewMouseRightButtonDown( e );
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs
index 47fd6b20d..c66e51003 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentFloatingWindowControl.cs
@@ -59,6 +59,9 @@ public LayoutItem RootDocumentLayoutItem
{
get
{
+ if( ( _model == null ) || ( _model.Root == null ) || ( _model.Root.Manager == null ) )
+ return null;
+
return _model.Root.Manager.GetLayoutItemFromModel( _model.RootDocument );
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs
index 501dde177..00cf0600d 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutDocumentPaneControl.cs
@@ -93,28 +93,36 @@ protected override void OnMouseLeftButtonDown( System.Windows.Input.MouseButtonE
{
base.OnMouseLeftButtonDown( e );
- var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
- if( ( this.Model != null ) && ( this.Model.Root != null ) && ( this.Model.Root.Manager != null )
- && this.Model.Root.Manager.Equals( parentDockingManager ) )
+ if( e.OriginalSource is Visual )
{
- if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) )
+ var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
+
+ 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;
+ }
}
- }
+ }
}
protected override void OnMouseRightButtonDown( System.Windows.Input.MouseButtonEventArgs e )
{
base.OnMouseRightButtonDown( e );
- var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
- if( ( this.Model != null ) && ( this.Model.Root != null ) && ( this.Model.Root.Manager != null )
- && this.Model.Root.Manager.Equals( parentDockingManager ) )
+ if( e.OriginalSource is Visual )
{
- if( !e.Handled && ( _model != null ) && ( _model.SelectedContent != null ) )
+ var parentDockingManager = ( ( Visual )e.OriginalSource ).FindVisualAncestor();
+
+ 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;
+ }
}
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs
index c7721d375..ba9a439cb 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutFloatingWindowControl.cs
@@ -290,6 +290,8 @@ protected override void OnClosed( EventArgs e )
{
root.FloatingWindows.Remove( this.Model as LayoutFloatingWindow );
}
+
+ this.BringFocusOnDockingManager();
}
protected override void OnInitialized( EventArgs e )
@@ -502,6 +504,26 @@ internal void InternalClose()
}
}
+ internal void BringFocusOnDockingManager()
+ {
+ // Prevent focus lost on MainWindow when closing floatingWindows.
+ if( this.Owner != null )
+ {
+ this.Owner.Focus();
+ }
+ else
+ {
+ if( (this.Model != null) && ( this.Model.Root != null) && ( this.Model.Root.Manager != null ) )
+ {
+ var firstUIElement = this.Model.Root.Manager.FindVisualChildren().Where( control => control.Focusable ).FirstOrDefault();
+ if( firstUIElement != null )
+ {
+ firstUIElement.Focus();
+ }
+ }
+ }
+ }
+
#endregion
#region Private Methods
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs
index ebfa1e48f..4ec5413f8 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Controls/LayoutGridControl.cs
@@ -394,7 +394,7 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri
trToWnd.Transform( new Point() );
double delta;
- if( Orientation == System.Windows.Controls.Orientation.Horizontal )
+ if( Orientation == Orientation.Horizontal )
delta = Canvas.GetLeft( _resizerGhost ) - _initialStartPoint.X;
else
delta = Canvas.GetTop( _resizerGhost ) - _initialStartPoint.Y;
@@ -406,15 +406,18 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri
var prevChildActualSize = prevChild.TransformActualSizeToAncestor();
var nextChildActualSize = (nextChild != null) ? nextChild.TransformActualSizeToAncestor() : new Size();
+ var totalActualSize = new Size(prevChildActualSize.Width + nextChildActualSize.Width, prevChildActualSize.Height + nextChildActualSize.Height );
var prevChildModel = ( ILayoutPositionableElement )( prevChild as ILayoutControl ).Model;
var nextChildModel = (nextChild != null) ? ( ILayoutPositionableElement )( nextChild as ILayoutControl ).Model : null;
+ var totalStarSize = new Size( prevChildModel.DockWidth.IsStar && nextChildModel.DockWidth.IsStar ? prevChildModel.DockWidth.Value + nextChildModel.DockWidth.Value : 1d,
+ prevChildModel.DockHeight.IsStar && nextChildModel.DockHeight.IsStar ? prevChildModel.DockHeight.Value + nextChildModel.DockHeight.Value : 1d );
- if( Orientation == System.Windows.Controls.Orientation.Horizontal )
+ if( Orientation == Orientation.Horizontal )
{
if( prevChildModel.DockWidth.IsStar )
{
- prevChildModel.DockWidth = new GridLength( prevChildActualSize.Width + delta, GridUnitType.Star );
+ prevChildModel.DockWidth = new GridLength( ((prevChildActualSize.Width + delta) / totalActualSize.Width) * totalStarSize.Width, GridUnitType.Star );
}
else
{
@@ -428,7 +431,7 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri
{
if( nextChildModel.DockWidth.IsStar )
{
- nextChildModel.DockWidth = new GridLength( nextChildActualSize.Width - delta, GridUnitType.Star );
+ nextChildModel.DockWidth = new GridLength( ((nextChildActualSize.Width - delta) / totalActualSize.Width) * totalStarSize.Width, GridUnitType.Star );
}
else
{
@@ -443,7 +446,7 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri
{
if( prevChildModel.DockHeight.IsStar )
{
- prevChildModel.DockHeight = new GridLength( prevChildActualSize.Height + delta, GridUnitType.Star );
+ prevChildModel.DockHeight = new GridLength( ((prevChildActualSize.Height + delta) / totalActualSize.Height) * totalStarSize.Height, GridUnitType.Star );
}
else
{
@@ -457,7 +460,7 @@ private void OnSplitterDragCompleted( object sender, System.Windows.Controls.Pri
{
if( nextChildModel.DockHeight.IsStar )
{
- nextChildModel.DockHeight = new GridLength( nextChildActualSize.Height - delta, GridUnitType.Star );
+ nextChildModel.DockHeight = new GridLength( ((nextChildActualSize.Height - delta) / totalActualSize.Height) * totalStarSize.Height, GridUnitType.Star );
}
else
{
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs
index 919849e68..8a6059d21 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/DockingManager.cs
@@ -2143,7 +2143,7 @@ internal UIElement CreateUIElementForModel( ILayoutElement model )
{
newFW.WindowState = WindowState.Maximized;
}
- } ), DispatcherPriority.Send );
+ } ), DispatcherPriority.DataBind );
return newFW;
}
@@ -2365,7 +2365,7 @@ internal void _ExecuteContentActivateCommand( LayoutContent content )
content.IsActive = true;
}
- internal void ShowNavigatorWindow()
+ protected internal virtual void ShowNavigatorWindow()
{
if( _navigatorWindow == null )
{
@@ -3259,6 +3259,8 @@ private LayoutFloatingWindowControl CreateFloatingWindowCore( LayoutContent cont
contentModelAsAnchorable.IsAutoHidden )
contentModelAsAnchorable.ToggleAutoHide();
+ this.UpdateStarSize( contentModel );
+
var parentPane = contentModel.Parent as ILayoutPane;
var parentPaneAsPositionableElement = contentModel.Parent as ILayoutPositionableElement;
var parentPaneAsWithActualSize = contentModel.Parent as ILayoutPositionableElementWithActualSize;
@@ -3351,6 +3353,66 @@ private LayoutFloatingWindowControl CreateFloatingWindowCore( LayoutContent cont
return fwc;
}
+ private void UpdateStarSize( LayoutContent contentModel )
+ {
+ if( contentModel == null )
+ return;
+
+ var parentPane = contentModel.Parent as ILayoutPositionableElement;
+ if( parentPane != null)
+ {
+ // Reset Dock Size of floating LayoutContent
+ if( parentPane.DockWidth.IsStar )
+ {
+ parentPane.DockWidth = new GridLength( 1d, GridUnitType.Star );
+ }
+ if( parentPane.DockHeight.IsStar )
+ {
+ parentPane.DockHeight = new GridLength( 1d, GridUnitType.Star );
+ }
+
+ var grandParentPaneOrientation = parentPane.Parent as ILayoutOrientableGroup;
+ var grandParentPane = parentPane.Parent as ILayoutPositionableElement;
+ if( (grandParentPaneOrientation != null) && (grandParentPane != null) )
+ {
+ if( grandParentPaneOrientation.Orientation == Orientation.Horizontal )
+ {
+ // Reset Dock Width of remaining LayoutContent
+ if( grandParentPane.DockWidth.IsStar )
+ {
+ var grandParentPaneContainer = parentPane.Parent as ILayoutContainer;
+ if( grandParentPaneContainer != null )
+ {
+ var children = grandParentPaneContainer.Children.Where( child => !child.Equals( parentPane ) ).Cast().Where( child => child.DockWidth.IsStar );
+ var childrenTotalWidth = children.Sum( child => child.DockWidth.Value );
+ foreach( var child in children )
+ {
+ child.DockWidth = new GridLength( child.DockWidth.Value / childrenTotalWidth, GridUnitType.Star );
+ }
+ }
+ }
+ }
+ else
+ {
+ // Reset Dock Height of remaining LayoutContent
+ if( grandParentPane.DockHeight.IsStar )
+ {
+ var grandParentPaneContainer = parentPane.Parent as ILayoutContainer;
+ if( grandParentPaneContainer != null )
+ {
+ var children = grandParentPaneContainer.Children.Where( child => !child.Equals( parentPane ) ).Cast().Where( child => child.DockHeight.IsStar );
+ var childrenTotalHeight = children.Sum( child => child.DockHeight.Value );
+ foreach( var child in children )
+ {
+ child.DockHeight = new GridLength( child.DockHeight.Value / childrenTotalHeight, GridUnitType.Star );
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
private void AnchorableContextMenu_Opened( object sender, RoutedEventArgs e )
{
var anchorableContextMenu = sender as ContextMenu;
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs
index 7b42596f2..7128646a0 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Extentions.cs
@@ -113,14 +113,30 @@ public static AnchorSide GetSide( this ILayoutElement element )
if( layoutPanel.Orientation == System.Windows.Controls.Orientation.Horizontal )
{
if( currentChildID < 0 )
+ {
return AnchorSide.Right;
- return ( currentChildID <= ( childrenCount / 2 ) ) ? AnchorSide.Left : AnchorSide.Right;
+ }
+ else
+ {
+ if( childrenCount == 1 )
+ return AnchorSide.Left;
+
+ return ( currentChildID < ( childrenCount / 2d ) ) ? AnchorSide.Left : AnchorSide.Right;
+ }
}
else
{
if( currentChildID < 0 )
+ {
return AnchorSide.Bottom;
- return ( currentChildID <= ( childrenCount / 2 ) ) ? AnchorSide.Top : AnchorSide.Bottom;
+ }
+ else
+ {
+ if( childrenCount == 1 )
+ return AnchorSide.Top;
+
+ return ( currentChildID < ( childrenCount / 2d ) ) ? AnchorSide.Top : AnchorSide.Bottom;
+ }
}
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/ILayoutInitialContainer.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/ILayoutInitialContainer.cs
new file mode 100644
index 000000000..a2f7ea7bf
--- /dev/null
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/ILayoutInitialContainer.cs
@@ -0,0 +1,32 @@
+/*************************************************************************************
+
+ 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
+
+ ***********************************************************************************/
+
+namespace Xceed.Wpf.AvalonDock.Layout
+{
+ interface ILayoutInitialContainer
+ {
+ ILayoutContainer InitialContainer
+ {
+ get; set;
+ }
+
+ string InitialContainerId
+ {
+ get; set;
+ }
+ }
+}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs
index ac5f677c9..c5f77504f 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutAnchorable.cs
@@ -415,14 +415,16 @@ public void Hide( bool cancelable = true )
RaisePropertyChanging( "IsHidden" );
RaisePropertyChanging( "IsVisible" );
- //if (Parent is ILayoutPane)
+
+ this.InitialContainer = this.PreviousContainer as ILayoutPane;
+ this.InitialContainerIndex = this.PreviousContainerIndex;
+ this.InitialContainerId = this.PreviousContainerId;
+
+ var parentAsGroup = this.Parent as ILayoutGroup;
+ this.PreviousContainer = parentAsGroup;
+ if( parentAsGroup != null )
{
- var parentAsGroup = Parent as ILayoutGroup;
- PreviousContainer = parentAsGroup;
- if( parentAsGroup != null )
- {
- PreviousContainerIndex = parentAsGroup.IndexOfChild( this );
- }
+ this.PreviousContainerIndex = parentAsGroup.IndexOfChild( this );
}
if( this.Root != null )
{
@@ -478,8 +480,13 @@ public void Show()
}
}
- PreviousContainer = null;
- PreviousContainerIndex = -1;
+ // When InitialContainer exists, set it to PreviousContainer in order to dock in expected position.
+ this.PreviousContainer = ( this.InitialContainer != null) ? this.InitialContainer : null;
+ this.PreviousContainerIndex = ( this.InitialContainerIndex != -1 ) ? this.InitialContainerIndex : -1;
+
+ this.InitialContainer = null;
+ this.InitialContainerIndex = -1;
+ this.InitialContainerId = null;
RaisePropertyChanged( "IsVisible" );
RaisePropertyChanged( "IsHidden" );
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs
index 0d9815f88..e614ecd71 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutContent.cs
@@ -29,7 +29,7 @@ namespace Xceed.Wpf.AvalonDock.Layout
{
[ContentProperty( "Content" )]
[Serializable]
- public abstract class LayoutContent : LayoutElement, IXmlSerializable, ILayoutElementForFloatingWindow, IComparable, ILayoutPreviousContainer
+ public abstract class LayoutContent : LayoutElement, IXmlSerializable, ILayoutElementForFloatingWindow, IComparable, ILayoutPreviousContainer, ILayoutInitialContainer
{
#region Constructors
@@ -311,6 +311,66 @@ protected set
#endregion
+ #region InitialContainer
+
+ [field: NonSerialized]
+ private ILayoutContainer _initialContainer = null;
+
+ [XmlIgnore]
+ ILayoutContainer ILayoutInitialContainer.InitialContainer
+ {
+ get
+ {
+ return _initialContainer;
+ }
+ set
+ {
+ if( _initialContainer != value )
+ {
+ _initialContainer = value;
+ RaisePropertyChanged( "InitialContainer" );
+
+ var paneSerializable = _initialContainer as ILayoutPaneSerializable;
+ if( paneSerializable != null &&
+ paneSerializable.Id == null )
+ paneSerializable.Id = Guid.NewGuid().ToString();
+ }
+ }
+ }
+
+ internal ILayoutContainer InitialContainer
+ {
+ get
+ {
+ return ( ( ILayoutInitialContainer )this ).InitialContainer;
+ }
+ set
+ {
+ ( ( ILayoutInitialContainer )this ).InitialContainer = value;
+ }
+ }
+
+ [XmlIgnore]
+ string ILayoutInitialContainer.InitialContainerId
+ {
+ get;
+ set;
+ }
+
+ internal string InitialContainerId
+ {
+ get
+ {
+ return ( ( ILayoutInitialContainer )this ).InitialContainerId;
+ }
+ set
+ {
+ ( ( ILayoutInitialContainer )this ).InitialContainerId = value;
+ }
+ }
+
+ #endregion
+
#region PreviousContainerIndex
[field: NonSerialized]
private int _previousContainerIndex = -1;
@@ -333,6 +393,28 @@ public int PreviousContainerIndex
#endregion
+ #region InitialContainerIndex
+ [field: NonSerialized]
+ private int _initialContainerIndex = -1;
+ [XmlIgnore]
+ internal int InitialContainerIndex
+ {
+ get
+ {
+ return _initialContainerIndex;
+ }
+ set
+ {
+ if( _initialContainerIndex != value )
+ {
+ _initialContainerIndex = value;
+ RaisePropertyChanged( "InitialContainerIndex" );
+ }
+ }
+ }
+
+ #endregion
+
#region LastActivationTimeStamp
private DateTime? _lastActivationTimeStamp = null;
@@ -655,6 +737,10 @@ public virtual void ReadXml( System.Xml.XmlReader reader )
PreviousContainerId = reader.Value;
if( reader.MoveToAttribute( "PreviousContainerIndex" ) )
PreviousContainerIndex = int.Parse( reader.Value );
+ if( reader.MoveToAttribute( "InitialContainerId" ) )
+ InitialContainerId = reader.Value;
+ if( reader.MoveToAttribute( "InitialContainerIndex" ) )
+ InitialContainerIndex = int.Parse( reader.Value );
if( reader.MoveToAttribute( "FloatingLeft" ) )
FloatingLeft = double.Parse( reader.Value, CultureInfo.InvariantCulture );
@@ -726,6 +812,15 @@ public virtual void WriteXml( System.Xml.XmlWriter writer )
writer.WriteAttributeString( "PreviousContainerIndex", _previousContainerIndex.ToString() );
}
}
+ if( _initialContainer != null )
+ {
+ var paneSerializable = _initialContainer as ILayoutPaneSerializable;
+ if( paneSerializable != null )
+ {
+ writer.WriteAttributeString( "InitialContainerId", paneSerializable.Id );
+ writer.WriteAttributeString( "InitialContainerIndex", _initialContainerIndex.ToString() );
+ }
+ }
}
@@ -856,15 +951,17 @@ public void Dock()
InternalDock();
}
-
- Root.CollectGarbage();
-
+ if( this.Root != null )
+ {
+ Root.CollectGarbage();
+ }
}
+
#endregion
#region Internal Methods
@@ -908,6 +1005,7 @@ protected virtual void OnClosing( CancelEventArgs args )
Closing( this, args );
}
+
protected virtual void InternalDock()
{
}
@@ -930,6 +1028,7 @@ protected virtual void InternalDock()
/// Hanlde the Hiding event for the LayoutAnchorable to cancel the hide operation.
public event EventHandler Closing;
- #endregion
+
+#endregion
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutRoot.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutRoot.cs
index 35c173eb1..3496ae6a2 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutRoot.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/LayoutRoot.cs
@@ -440,6 +440,11 @@ public void CollectGarbage()
{
content.PreviousContainer = null;
}
+ foreach( var content in this.Descendents().OfType().Where( c => c.InitialContainer != null &&
+ ( c.InitialContainer.Parent == null || c.InitialContainer.Parent.Root != this ) ) )
+ {
+ content.InitialContainer = null;
+ }
//for each pane that is empty
foreach( var emptyPane in this.Descendents().OfType().Where( p => p.ChildrenCount == 0 ) )
@@ -462,7 +467,8 @@ public void CollectGarbage()
continue;
//...if this empty panes is not referenced by anyone, than removes it from its parent container
- if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPane ) )
+ if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPane )
+ && !this.Descendents().OfType().Any( c => c.InitialContainer == emptyPane ) )
{
var parentGroup = emptyPane.Parent as ILayoutContainer;
parentGroup.RemoveChild( emptyPane );
@@ -493,7 +499,8 @@ public void CollectGarbage()
foreach( var emptyPaneGroup in this.Descendents().OfType().Where( p => p.ChildrenCount == 0 ) )
{
//...if this empty layout panel is not referenced by anyone, than removes it from its parent container
- if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPaneGroup ) )
+ if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPaneGroup )
+ && !this.Descendents().OfType().Any( c => c.InitialContainer == emptyPaneGroup ) )
{
var parentGroup = emptyPaneGroup.Parent as ILayoutContainer;
parentGroup.RemoveChild( emptyPaneGroup );
@@ -509,7 +516,8 @@ public void CollectGarbage()
foreach( var emptyPaneGroup in this.Descendents().OfType().Where( p => p.ChildrenCount == 0 ) )
{
//...if this empty floating window is not referenced by anyone, than removes it from its parent container
- if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPaneGroup ) )
+ if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPaneGroup )
+ && !this.Descendents().OfType().Any( c => c.InitialContainer == emptyPaneGroup ) )
{
var parentGroup = emptyPaneGroup.Parent as ILayoutContainer;
parentGroup.RemoveChild( emptyPaneGroup );
@@ -525,7 +533,8 @@ public void CollectGarbage()
foreach( var emptyPaneGroup in this.Descendents().OfType().Where( p => p.ChildrenCount == 0 ) )
{
//...if this empty Pane Group is not referenced by anyone, than removes it from its parent container
- if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPaneGroup ) )
+ if( !this.Descendents().OfType().Any( c => c.PreviousContainer == emptyPaneGroup )
+ && !this.Descendents().OfType().Any( c => c.InitialContainer == emptyPaneGroup ) )
{
var parentGroup = emptyPaneGroup.Parent as ILayoutContainer;
parentGroup.RemoveChild( emptyPaneGroup );
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Serialization/LayoutSerializer.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Serialization/LayoutSerializer.cs
index 67841f3fb..da0f7b00d 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Serialization/LayoutSerializer.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Layout/Serialization/LayoutSerializer.cs
@@ -76,6 +76,15 @@ protected virtual void FixupLayout( LayoutRoot layout )
lcToAttach.PreviousContainer = paneContainerToAttach as ILayoutContainer;
}
+ foreach( var lcToAttach in layout.Descendents().OfType().Where( lc => lc.InitialContainerId != null ) )
+ {
+ var paneContainerToAttach = layout.Descendents().OfType().FirstOrDefault( lps => lps.Id == lcToAttach.InitialContainerId );
+ if( paneContainerToAttach == null )
+ throw new ArgumentException( string.Format( "Unable to find a pane with id ='{0}'", lcToAttach.InitialContainerId ) );
+
+ lcToAttach.InitialContainer = paneContainerToAttach as ILayoutContainer;
+ }
+
//now fix the content of the layoutcontents
foreach( var lcToFix in layout.Descendents().OfType().Where( lc => lc.Content == null ).ToArray() )
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.Designer.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.Designer.cs
index 26308f9e2..128084eed 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.Designer.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.Designer.cs
@@ -36,7 +36,7 @@ namespace Xceed.Wpf.AvalonDock.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
@@ -96,7 +96,7 @@ public static string Anchorable_BtnAutoHide_Hint {
}
///
- /// Looks up a localized string similar to Hide.
+ /// Looks up a localized string similar to Hide All.
///
public static string Anchorable_BtnClose_Hint {
get {
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.cs-CZ.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.cs-CZ.resx
index bd0c4a5c5..3f2ca77cf 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.cs-CZ.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.cs-CZ.resx
@@ -124,7 +124,7 @@
Skrývat automaticky
- Skrýt
+ Schovat vše
Pozice okna
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.de.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.de.resx
index b08008444..99758eb71 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.de.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.de.resx
@@ -124,7 +124,7 @@
Automatisch im Hintergrund
- Schließen
+ Versteck alles
Fensterposition
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.es.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.es.resx
index 9b2cf65c5..12b0d3d61 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.es.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.es.resx
@@ -124,7 +124,7 @@
Esconder Automáticamente
- Esconder
+ Ocultar todo
Posición de Ventana
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.fr.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.fr.resx
index 8acbf3629..a18b2d3ec 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.fr.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.fr.resx
@@ -124,7 +124,7 @@
Cacher Automatiquement
- Cacher
+ Cacher Tout
Position de la Fenêtre
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.hu.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.hu.resx
index 54d0bcae7..4c6bd342a 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.hu.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.hu.resx
@@ -127,7 +127,7 @@
Elrejtés
- Elhelyezkedés
+ Rejtsd el mindet
Dokkolás
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.it.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.it.resx
index d72bc67a8..16ed4252a 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.it.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.it.resx
@@ -124,7 +124,7 @@
Nascondi Automaticamente
- Nascondi
+ Nascondi tutto
Posizione della Finestra
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ja-JP.Designer.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ja-JP.Designer.cs
new file mode 100644
index 000000000..6a519dc11
--- /dev/null
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ja-JP.Designer.cs
@@ -0,0 +1,17 @@
+/*************************************************************************************
+
+ 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
+
+ ***********************************************************************************/
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ja-JP.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ja-JP.resx
new file mode 100644
index 000000000..458ffe64a
--- /dev/null
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ja-JP.resx
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 自動的に隠す
+
+
+ 自動的に隠す
+
+
+ すべて非表示
+
+
+ ウィンドウの位置
+
+
+ ドッキング
+
+
+ タブ付きドキュメントとしてドッキング
+
+
+ フローティング
+
+
+ 非表示
+
+
+ ピンステータスを切り替える
+
+
+ 閉じる
+
+
+ すべて閉じる
+
+
+ このウィンドウ以外すべて閉じる
+
+
+ ウィンドウの位置
+
+
+ タブ付きドキュメントとしてドッキング
+
+
+ フローティング
+
+
+ 次のタブグループに移動
+
+
+ 前のタブグループに移動
+
+
+ 新しい水平タブグループ
+
+
+ 新しい垂直タブグループ
+
+
+ 最大化
+
+
+ 元に戻す
+
+
\ No newline at end of file
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.pt-BR.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.pt-BR.resx
index 5e2b95aac..75d326a69 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.pt-BR.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.pt-BR.resx
@@ -124,7 +124,7 @@
Esconder Automaticamente
- Esconder
+ Esconda tudo
Posição da Janela
@@ -177,4 +177,4 @@
Recuperar
-
+
\ No newline at end of file
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.resx
index 67b1d132f..2bd9da785 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.resx
@@ -124,7 +124,7 @@
Auto Hide
- Hide
+ Hide All
Window Position
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ro.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ro.resx
index db258c181..e2bb72acb 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ro.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ro.resx
@@ -124,7 +124,7 @@
Ascunde automat
- Ascunde
+ Ascunde tot
Poziția ferestrei
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ru.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ru.resx
index 247500ec6..12288ba22 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ru.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.ru.resx
@@ -124,7 +124,7 @@
Скрывать Автоматически
- Скрыть
+ Скрыть все
Положение Окна
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.sv.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.sv.resx
index cccac7405..8195fabd8 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.sv.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.sv.resx
@@ -124,7 +124,7 @@
Dölj automatiskt
- Dölj
+ Göm alla
Fönsterposition
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.zh-Hans.resx b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.zh-Hans.resx
index 8e23cb98c..f4d05a2b9 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.zh-Hans.resx
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Properties/Resources.zh-Hans.resx
@@ -124,7 +124,7 @@
自动隐藏
- 隐藏
+ 全部藏起来
窗口位置
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Default.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Default.xaml
new file mode 100644
index 000000000..f129d47d2
--- /dev/null
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Default.xaml
@@ -0,0 +1,1438 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinAutoHide_White.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinAutoHide_White.png
new file mode 100644
index 000000000..2828964b9
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinAutoHide_White.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinClose_White.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinClose_White.png
new file mode 100644
index 000000000..1b7b7cdfd
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinClose_White.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinDocMenu_White.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinDocMenu_White.png
new file mode 100644
index 000000000..afd82d9d9
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinDocMenu_White.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinMaximize_White.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinMaximize_White.png
new file mode 100644
index 000000000..6f745b4de
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinMaximize_White.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinMenu_White.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinMenu_White.png
new file mode 100644
index 000000000..520f3d2f4
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinMenu_White.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinRestore_White.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinRestore_White.png
new file mode 100644
index 000000000..271712270
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/Generic/Images/PinRestore_White.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml
index dd7c9a3e0..7804e2afb 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Themes/generic.xaml
@@ -17,1424 +17,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Xceed.Wpf.AvalonDock.csproj b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Xceed.Wpf.AvalonDock.csproj
index fb7edb647..fbee76a24 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Xceed.Wpf.AvalonDock.csproj
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.AvalonDock/Xceed.Wpf.AvalonDock.csproj
@@ -165,6 +165,7 @@
+
@@ -204,6 +205,11 @@
Code
+
+ Resources.ja-JP.resx
+ True
+ True
+
Resources.cs-CZ.resx
True
@@ -272,6 +278,11 @@
+
+ PublicResXFileCodeGenerator
+ Resources.ja-JP.Designer.cs
+ Designer
+
PublicResXFileCodeGenerator
Resources.cs-CZ.Designer.cs
@@ -364,6 +375,10 @@
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
@@ -375,6 +390,22 @@
Xceed.Wpf.Toolkit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -45,4 +46,9 @@
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/BusyIndicator/Resources/Common.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/BusyIndicator/Resources/Common.xaml
index 8670444f8..a9029f328 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/BusyIndicator/Resources/Common.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/BusyIndicator/Resources/Common.xaml
@@ -19,7 +19,8 @@
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit">
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Panels/Views/SwitchPanelView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Panels/Views/SwitchPanelView.xaml
index c1621760b..5b7617e3d 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Panels/Views/SwitchPanelView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Panels/Views/SwitchPanelView.xaml
@@ -185,8 +185,8 @@
-
@@ -250,8 +250,8 @@
-
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Text/Views/MultiLineTextEditorView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Text/Views/MultiLineTextEditorView.xaml
index fcb6e4475..cf646370a 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Text/Views/MultiLineTextEditorView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Text/Views/MultiLineTextEditorView.xaml
@@ -33,7 +33,7 @@
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingAvalonDockView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingAvalonDockView.xaml
index 84d5f1bb7..904051ec7 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingAvalonDockView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingAvalonDockView.xaml
@@ -27,7 +27,7 @@
- Changes the themes of the AvalonDock controls. Available themes are System, Aero, VS2010, Metro, Office2007, Windows10 and Metro with accent color. The Xceed.Wpf.AvalonDock.Themes.xxx.dll assemblies are necessary to use these themes.
+ Changes the themes of the AvalonDock controls. Available themes are System, HighContrast, Aero, VS2010, Metro, Office2007, Windows10 and Metro with accent color. The Xceed.Wpf.AvalonDock.Themes.xxx.dll assemblies are necessary to use these themes.
Some features of this sample are only available in the "Plus" version.
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingDataGridView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingDataGridView.xaml
index fe4f522a9..4e92526d3 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingDataGridView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingDataGridView.xaml
@@ -27,7 +27,7 @@
x:Name="_demo">
- Changes the themes of the datagrid control. Available themes are System, Office2007, Windows10 and Metro with accent color. The Xceed.Wpf.DataGrid.Themes.Office2007.dll or Xceed.Wpf.DataGrid.Themes.Metro.dll assemblies are necessary to use these themes.
+ Changes the themes of the datagrid control. Available themes are System, HighContrast, Office2007, Windows10 and Metro with accent color. The Xceed.Wpf.DataGrid.Themes.Office2007.dll or Xceed.Wpf.DataGrid.Themes.Metro.dll assemblies are necessary to use these themes.
This feature is only available in the "Plus" version.
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingExtendedToolkitView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingExtendedToolkitView.xaml
index 4040456bf..ce93afdac 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingExtendedToolkitView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingExtendedToolkitView.xaml
@@ -25,7 +25,7 @@
x:Name="_demo">
- Changes the themes of the Toolkit for WPF controls. Available themes are System, Office2007, Windows10 and Metro with accent color. The Xceed.Wpf.Toolkit.Themes.Office2007.dll, Xceed.Wpf.Toolkit.Themes.Windows10.dll or Xceed.Wpf.Toolkit.Themes.Metro.dll assemblies are necessary to use the themes.
+ Changes the themes of the Toolkit for WPF controls. Available themes are System, HighContrast, Office2007, Windows10 and Metro with accent color. The Xceed.Wpf.Toolkit.Themes.Office2007.dll, Xceed.Wpf.Toolkit.Themes.Windows10.dll or Xceed.Wpf.Toolkit.Themes.Metro.dll assemblies are necessary to use the themes.
This feature is only available in the "Plus" version.
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingListBoxView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingListBoxView.xaml
index 7eb65432d..c90972e0d 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingListBoxView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Theming/Views/ThemingListBoxView.xaml
@@ -30,7 +30,7 @@
Dress Up Your App in Style in Minutes
- Supports implicit styles, so the entire listbox can be styled in minutes with a couple of lines of code. Also supports explicit styles and Expression Blend. Available themes are System, Office2007, LiveExplorer, MediaPlayer, Windows10 and Metro with accent color. The Xceed.Wpf.ListBox.Themes.xxx.dll assembly is necessary to use the themes.
+ Supports implicit styles, so the entire listbox can be styled in minutes with a couple of lines of code. Also supports explicit styles and Expression Blend. Available themes are System, HighContrast, Office2007, LiveExplorer, MediaPlayer, Windows10 and Metro with accent color. The Xceed.Wpf.ListBox.Themes.xxx.dll assembly is necessary to use the themes.
This feature is only available in the "Plus" version.
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Window/Views/WindowContainerView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Window/Views/WindowContainerView.xaml
index 5da119186..ffca2bb8a 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Window/Views/WindowContainerView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Window/Views/WindowContainerView.xaml
@@ -66,7 +66,8 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Zoombox/Views/ZoomboxView.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Zoombox/Views/ZoomboxView.xaml
index 8c876de9b..f3832ef82 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Zoombox/Views/ZoomboxView.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit.LiveExplorer/Samples/Zoombox/Views/ZoomboxView.xaml
@@ -39,7 +39,7 @@
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MaskedTextBox/Implementation/MaskedTextBox.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MaskedTextBox/Implementation/MaskedTextBox.cs
index 6d9af2f66..6090a9fff 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MaskedTextBox/Implementation/MaskedTextBox.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MaskedTextBox/Implementation/MaskedTextBox.cs
@@ -1333,7 +1333,7 @@ protected virtual MaskedTextProvider CreateMaskedTextProvider(
provider.IncludeLiterals = true;
provider.IncludePrompt = true;
- provider.IsPassword = false;
+ provider.IsPassword = false;
return provider;
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Images/Notes16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Images/Notes16.png
deleted file mode 100644
index ebfaee36a..000000000
Binary files a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Images/Notes16.png and /dev/null differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Aero2.NormalColor.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Aero2.NormalColor.xaml
index 1fc7c6a64..972158850 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Aero2.NormalColor.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Aero2.NormalColor.xaml
@@ -30,11 +30,10 @@
-
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Generic.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Generic.xaml
index 7d87c1947..3cdc4e73c 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Generic.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/MultiLineTextEditor/Themes/Generic.xaml
@@ -28,11 +28,10 @@
-
+
errors = Validation.GetErrors( descriptor );
- Validation.MarkInvalid( be, errors[ 0 ] );
+ this.Dispatcher.BeginInvoke( DispatcherPriority.Input, new Action( () =>
+ {
+ var errors = Validation.GetErrors( descriptor );
+ Validation.MarkInvalid( be, errors[ 0 ] );
+ }
+ ) );
}
}
}
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Bold_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Bold_White16.png
new file mode 100644
index 000000000..8bb9010d0
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Bold_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Bullets_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Bullets_White16.png
new file mode 100644
index 000000000..3bc7f781b
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Bullets_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/CenterAlign_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/CenterAlign_White16.png
new file mode 100644
index 000000000..c505e96ac
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/CenterAlign_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/FontColorPicker_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/FontColorPicker_White16.png
new file mode 100644
index 000000000..04459ac2d
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/FontColorPicker_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Italic_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Italic_White16.png
new file mode 100644
index 000000000..9867d8350
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Italic_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/LeftAlign_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/LeftAlign_White16.png
new file mode 100644
index 000000000..231dca6ee
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/LeftAlign_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Numbering_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Numbering_White16.png
new file mode 100644
index 000000000..52ff6792f
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Numbering_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/RightAlign_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/RightAlign_White16.png
new file mode 100644
index 000000000..02aeaeaea
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/RightAlign_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/TextHighlightColorPicker_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/TextHighlightColorPicker_White16.png
new file mode 100644
index 000000000..9bbf1654f
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/TextHighlightColorPicker_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Underline_White16.png b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Underline_White16.png
new file mode 100644
index 000000000..69e3440da
Binary files /dev/null and b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/Images/Underline_White16.png differ
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs
index 4ed4fd8d1..1261b0738 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/RichTextBoxFormatBar/RichTextBoxFormatBarManager.cs
@@ -174,7 +174,9 @@ private void AttachFormatBarToRichtextBox( global::System.Windows.Controls.RichT
void ShowAdorner()
{
if( _adorner.Visibility == Visibility.Visible )
- return;
+ {
+ HideAdorner();
+ }
VerifyAdornerLayer();
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Themes/Generic.xaml b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Themes/Generic.xaml
index d730b4c12..f32dda2ad 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Themes/Generic.xaml
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Themes/Generic.xaml
@@ -21,7 +21,15 @@
-
+
+
+
+
+
+
+
+
+
@@ -32,11 +40,11 @@
-
+
-
-
+
+
@@ -57,9 +65,10 @@
-
-
+
+
+
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
index 8094559b4..e9c771726 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
@@ -22,11 +22,18 @@ COMMUNITY LICENSE AGREEMENT (for non-commercial use) as published at
using System.Windows.Input;
using System.Windows.Interop;
using Xceed.Wpf.Toolkit.Core;
+using System.ComponentModel;
namespace Xceed.Wpf.Toolkit
{
public class Wizard : ItemsControl
{
+ #region Private Members
+
+ private bool? _dialogResult = null;
+
+ #endregion
+
#region Properties
public static readonly DependencyProperty BackButtonContentProperty = DependencyProperty.Register( "BackButtonContent", typeof( object ), typeof( Wizard ), new UIPropertyMetadata( "< Back" ) );
@@ -639,12 +646,33 @@ private void CloseParentWindow( bool dialogResult )
{
//we can only set the DialogResult if the window was opened as modal with the ShowDialog() method. Otherwise an exception would occur
if( ComponentDispatcher.IsThreadModal )
- window.DialogResult = dialogResult;
+ {
+ _dialogResult = dialogResult;
+ window.Closing += this.Window_Closing;
+ }
window.Close();
}
}
+ private void Window_Closing( object sender, CancelEventArgs e )
+ {
+ var window = sender as Window;
+
+ if( window != null )
+ {
+ if( !e.Cancel )
+ {
+ // Set dialog result only when closing is not canceled.
+ window.DialogResult = _dialogResult;
+ }
+
+ _dialogResult = null;
+
+ window.Closing -= this.Window_Closing;
+ }
+ }
+
private bool NextPageExists()
{
bool exists = false;
diff --git a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Xceed.Wpf.Toolkit.csproj b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Xceed.Wpf.Toolkit.csproj
index fbb5bf842..eff47f1a9 100644
--- a/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Xceed.Wpf.Toolkit.csproj
+++ b/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Xceed.Wpf.Toolkit.csproj
@@ -739,9 +739,6 @@
-
-
-
@@ -948,6 +945,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+