1081 lines
74 KiB
XML
1081 lines
74 KiB
XML
<!--***********************************************************************************
|
|
|
|
Extended WPF Toolkit
|
|
|
|
Copyright (C) 2007-2013 Xceed Software Inc.
|
|
|
|
This program is provided to you under the terms of the Microsoft Public
|
|
License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license
|
|
|
|
For more features, controls, and fast professional support,
|
|
pick up the Plus Edition at http://xceed.com/wpf_toolkit
|
|
|
|
Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids
|
|
|
|
**********************************************************************************-->
|
|
|
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:shell="clr-namespace:Microsoft.Windows.Shell"
|
|
xmlns:avalonDock="clr-namespace:Xceed.Wpf.AvalonDock"
|
|
xmlns:avalonDockLayout="clr-namespace:Xceed.Wpf.AvalonDock.Layout"
|
|
xmlns:avalonDockControls="clr-namespace:Xceed.Wpf.AvalonDock.Controls"
|
|
xmlns:avalonDockConverters="clr-namespace:Xceed.Wpf.AvalonDock.Converters"
|
|
xmlns:avalonDockProperties="clr-namespace:Xceed.Wpf.AvalonDock.Properties">
|
|
|
|
<avalonDockConverters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
|
|
<avalonDockConverters:InverseBoolToVisibilityConverter x:Key="InverseBoolToVisibilityConverter"/>
|
|
<avalonDockConverters:AnchorSideToOrientationConverter x:Key="AnchorSideToOrientationConverter"/>
|
|
<avalonDockConverters:AnchorSideToAngleConverter x:Key="AnchorSideToAngleConverter"/>
|
|
<avalonDockConverters:NullToDoNothingConverter x:Key="NullToDoNothingConverter"/>
|
|
<avalonDockConverters:LayoutItemFromLayoutModelConverter x:Key="LayoutItemFromLayoutModelConverter"/>
|
|
<avalonDockConverters:ActivateCommandLayoutItemFromLayoutModelConverter x:Key="ActivateCommandLayoutItemFromLayoutModelConverter"/>
|
|
|
|
<!--DocumentPaneControlStyle-->
|
|
<Style x:Key="DocumentPaneControlStyle" TargetType="{x:Type avalonDockControls:LayoutDocumentPaneControl}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentPaneControl}">
|
|
<Grid ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<!--Following border is required to catch mouse events-->
|
|
<Border Background="Transparent" Grid.RowSpan="2"/>
|
|
<Grid Visibility="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type avalonDockControls:LayoutDocumentPaneControl}}, Path=Model.ShowHeader, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Panel.ZIndex="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<avalonDockControls:DocumentPaneTabPanel x:Name="HeaderPanel" Grid.Column="0" IsItemsHost="true" Grid.Row="0" KeyboardNavigation.TabIndex="1"/>
|
|
<avalonDockControls:DropDownButton
|
|
x:Name="MenuDropDownButton"
|
|
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"
|
|
Focusable="False"
|
|
Grid.Column="1">
|
|
<avalonDockControls:DropDownButton.DropDownContextMenu>
|
|
<avalonDockControls:ContextMenuEx
|
|
ItemsSource="{Binding Model.ChildrenSorted, RelativeSource={RelativeSource TemplatedParent}}">
|
|
<avalonDockControls:ContextMenuEx.ItemContainerStyle>
|
|
<Style TargetType="{x:Type avalonDockControls:MenuItemEx}" BasedOn="{StaticResource {x:Type MenuItem}}">
|
|
<Setter Property="HeaderTemplate" Value="{Binding Path=Root.Manager.DocumentPaneMenuItemHeaderTemplate}"/>
|
|
<Setter Property="HeaderTemplateSelector" Value="{Binding Path=Root.Manager.DocumentPaneMenuItemHeaderTemplateSelector}"/>
|
|
<Setter Property="IconTemplate" Value="{Binding Path=Root.Manager.IconContentTemplate}"/>
|
|
<Setter Property="IconTemplateSelector" Value="{Binding Path=Root.Manager.IconContentTemplateSelector}"/>
|
|
<Setter Property="Command" Value="{Binding Path=., Converter={StaticResource ActivateCommandLayoutItemFromLayoutModelConverter}}"/>
|
|
</Style>
|
|
</avalonDockControls:ContextMenuEx.ItemContainerStyle>
|
|
</avalonDockControls:ContextMenuEx>
|
|
</avalonDockControls:DropDownButton.DropDownContextMenu>
|
|
<Border Background="White">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinDocMenu.png" />
|
|
</Border>
|
|
</avalonDockControls:DropDownButton>
|
|
</Grid>
|
|
<Border x:Name="ContentPanel"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
Grid.Column="0"
|
|
KeyboardNavigation.DirectionalNavigation="Contained"
|
|
Grid.Row="1"
|
|
KeyboardNavigation.TabIndex="2"
|
|
KeyboardNavigation.TabNavigation="Cycle">
|
|
<ContentPresenter x:Name="PART_SelectedContentHost"
|
|
ContentSource="SelectedContent"
|
|
Margin="{TemplateBinding Padding}"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Model.ChildrenCount}" Value="0">
|
|
<Setter Property="Visibility" Value="Collapsed" TargetName="MenuDropDownButton" />
|
|
</DataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="ItemContainerStyle">
|
|
<Setter.Value>
|
|
<Style TargetType="{x:Type TabItem}">
|
|
<Setter Property="Visibility" Value="{Binding IsVisible, Converter={StaticResource BoolToVisibilityConverter}}"/>
|
|
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
|
|
<Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
|
|
<Setter Property="ToolTip" Value="{Binding ToolTip}"/>
|
|
<Setter Property="Padding" Value="2,0,2,0"/>
|
|
<Setter Property="Margin" Value="0,2,0,0"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid SnapsToDevicePixels="true">
|
|
|
|
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}"
|
|
Background="{TemplateBinding Background}"
|
|
Padding="{TemplateBinding Padding}"
|
|
BorderThickness="1,1,1,0" >
|
|
<ContentPresenter
|
|
x:Name="Content"
|
|
ContentSource="Header"
|
|
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
|
|
VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
|
|
RecognizesAccessKey="True"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="Selector.IsSelected" Value="true">
|
|
<Setter Property="Background" Value="White" />
|
|
<Setter Property="Panel.ZIndex" Value="1" />
|
|
<Setter Property="Margin" Value="0,0,0,-2"/>
|
|
<Setter Property="Margin" TargetName="Content" Value="0,0,0,3"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsMouseOver" Value="true"/>
|
|
<Condition Property="Selector.IsSelected" Value="false"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.GradientInactiveCaptionBrushKey}}" />
|
|
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
|
|
<Setter Property="Panel.ZIndex" Value="0" />
|
|
</MultiTrigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="ItemTemplate">
|
|
<Setter.Value>
|
|
<DataTemplate>
|
|
<avalonDockControls:LayoutDocumentTabItem Model="{Binding}"/>
|
|
</DataTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
<Setter Property="ContentTemplate">
|
|
<Setter.Value>
|
|
<DataTemplate>
|
|
<avalonDockControls:LayoutDocumentControl Model="{Binding}"/>
|
|
</DataTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--AnchorablePaneControlStyle-->
|
|
<Style x:Key="AnchorablePaneControlStyle" TargetType="{x:Type avalonDockControls:LayoutAnchorablePaneControl}">
|
|
<Setter Property="Foreground"
|
|
Value="{Binding Model.Root.Manager.Foreground, RelativeSource={RelativeSource Self}}" />
|
|
<Setter Property="Background"
|
|
Value="{Binding Model.Root.Manager.Background, RelativeSource={RelativeSource Self}}" />
|
|
<Setter Property="TabStripPlacement" Value="Bottom"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorablePaneControl}">
|
|
<Grid ClipToBounds="true"
|
|
SnapsToDevicePixels="true"
|
|
KeyboardNavigation.TabNavigation="Local"
|
|
>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<!--Following border is required to catch mouse events-->
|
|
<Border Background="Transparent" Grid.RowSpan="2"/>
|
|
<Border x:Name="ContentPanel"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
Grid.Column="0"
|
|
KeyboardNavigation.DirectionalNavigation="Contained"
|
|
Grid.Row="0"
|
|
KeyboardNavigation.TabIndex="2"
|
|
KeyboardNavigation.TabNavigation="Cycle">
|
|
<ContentPresenter x:Name="PART_SelectedContentHost"
|
|
ContentSource="SelectedContent"
|
|
Margin="{TemplateBinding Padding}"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Border>
|
|
<avalonDockControls:AnchorablePaneTabPanel x:Name="HeaderPanel" Margin="2,0,2,2" IsItemsHost="true" Grid.Row="1" KeyboardNavigation.TabIndex="1" Panel.ZIndex="1"/>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
<Setter Property="ItemContainerStyle">
|
|
<Setter.Value>
|
|
<Style TargetType="{x:Type TabItem}">
|
|
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
|
|
<Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
|
|
<Setter Property="ToolTip" Value="{Binding ToolTip}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<Grid SnapsToDevicePixels="true">
|
|
<Border x:Name="Bd"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="1,0,1,1"
|
|
Background="{TemplateBinding Background}"
|
|
Padding="{TemplateBinding Padding}">
|
|
<ContentPresenter
|
|
x:Name="Content"
|
|
ContentSource="Header"
|
|
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
|
|
VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
|
|
RecognizesAccessKey="True"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="Selector.IsSelected"
|
|
Value="true">
|
|
<Setter Property="Background"
|
|
Value="White" />
|
|
<Setter Property="Panel.ZIndex"
|
|
Value="1" />
|
|
<Setter Property="Margin" Value="0,-1,-1,-2"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsMouseOver" Value="true"/>
|
|
<Condition Property="Selector.IsSelected" Value="false"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.GradientInactiveCaptionBrushKey}}" />
|
|
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" />
|
|
<Setter Property="Panel.ZIndex" Value="0" />
|
|
</MultiTrigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}, Path=Items.Count, FallbackValue=1}" Value="1">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
<Setter Property="ItemTemplate">
|
|
<Setter.Value>
|
|
<DataTemplate>
|
|
<avalonDockControls:LayoutAnchorableTabItem Model="{Binding}"/>
|
|
</DataTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
<Setter Property="ContentTemplate">
|
|
<Setter.Value>
|
|
<DataTemplate>
|
|
<avalonDockControls:LayoutAnchorableControl Model="{Binding}"/>
|
|
</DataTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="avalonDockControls:AnchorablePaneTitle">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<avalonDockControls:DropDownControlArea
|
|
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
|
|
DropDownContextMenuDataContext="{Binding Path=LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
|
|
>
|
|
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</avalonDockControls:DropDownControlArea>
|
|
|
|
<avalonDockControls:DropDownButton
|
|
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"
|
|
Focusable="False"
|
|
Grid.Column="1"
|
|
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
|
|
DropDownContextMenuDataContext="{Binding Path=LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}">
|
|
<Border Background="White">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinMenu.png" />
|
|
</Border>
|
|
</avalonDockControls:DropDownButton>
|
|
|
|
<Button x:Name="PART_AutoHidePin"
|
|
Grid.Column="2"
|
|
Focusable="False"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Command="{Binding Path=LayoutItem.AutoHideCommand, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnAutoHide_Hint}">
|
|
<Border Background="White">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinAutoHide.png" />
|
|
</Border>
|
|
</Button>
|
|
|
|
<Button x:Name="PART_HidePin"
|
|
Grid.Column="3"
|
|
Focusable="False"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Command="{Binding Path=LayoutItem.HideCommand, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}">
|
|
<Border Background="White">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinClose.png" />
|
|
</Border>
|
|
</Button>
|
|
|
|
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<DataTrigger Binding="{Binding Model.IsAutoHidden, RelativeSource={RelativeSource Mode=Self}}" Value="True">
|
|
<Setter Property="LayoutTransform" TargetName="PART_AutoHidePin">
|
|
<Setter.Value>
|
|
<RotateTransform Angle="90"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</DataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<ControlTemplate x:Key="AnchorSideTemplate" TargetType="{x:Type avalonDockControls:LayoutAnchorSideControl}">
|
|
<ItemsControl ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Children}">
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<StackPanel Orientation="{Binding Path=Model.Side, RelativeSource={RelativeSource AncestorType={x:Type avalonDockControls:LayoutAnchorSideControl}, Mode=FindAncestor}, Converter={StaticResource AnchorSideToOrientationConverter}}"/>
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
</ItemsControl>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="AnchorGroupTemplate" TargetType="{x:Type avalonDockControls:LayoutAnchorGroupControl}">
|
|
<ItemsControl
|
|
ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Children}"
|
|
>
|
|
<ItemsControl.LayoutTransform>
|
|
<RotateTransform Angle="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Model.Parent.Side, Converter={StaticResource AnchorSideToAngleConverter}}"/>
|
|
</ItemsControl.LayoutTransform>
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<StackPanel Orientation="Horizontal"/>
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
</ItemsControl>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="AnchorTemplate" TargetType="{x:Type avalonDockControls:LayoutAnchorControl}">
|
|
<Border BorderThickness="1"
|
|
BorderBrush="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"
|
|
Margin="2"
|
|
Padding="2">
|
|
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}"
|
|
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
|
|
<Style x:Key="{x:Type avalonDockControls:OverlayWindow}" TargetType="{x:Type avalonDockControls:OverlayWindow}">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:OverlayWindow}">
|
|
<Canvas x:Name="PART_DropTargetsContainer" Opacity="0.9">
|
|
<Path x:Name="PART_PreviewBox" Fill="AliceBlue" StrokeThickness="2" Stroke="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
|
<Grid x:Name="PART_DockingManagerDropTargets" >
|
|
<Image x:Name="PART_DockingManagerDropTargetLeft" VerticalAlignment="Center" HorizontalAlignment="Left" Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/DockLeft.PNG" Stretch="None" />
|
|
<Image x:Name="PART_DockingManagerDropTargetRight" VerticalAlignment="Center" HorizontalAlignment="Right" Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/DockRight.PNG" Stretch="None" />
|
|
<Image x:Name="PART_DockingManagerDropTargetBottom" VerticalAlignment="Bottom" HorizontalAlignment="Center" Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/DockBottom.PNG" Stretch="None" />
|
|
<Image x:Name="PART_DockingManagerDropTargetTop" VerticalAlignment="Top" HorizontalAlignment="Center" Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/DockTop.PNG" Stretch="None"/>
|
|
</Grid>
|
|
<Grid x:Name="PART_AnchorablePaneDropTargets">
|
|
<Grid Width="88" Height="88" VerticalAlignment="Center" HorizontalAlignment="Center">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Image Grid.ColumnSpan="3" Grid.RowSpan="3" Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/DockPaneEmpty.PNG" Stretch="Uniform"/>
|
|
<Border Name="PART_AnchorablePaneDropTargetTop" Grid.Column="1" Grid.Row="0">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockPaneTop.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetRight" Grid.Column="2" Grid.Row="1">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockPaneRight.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetBottom" Grid.Column="1" Grid.Row="2">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockPaneBottom.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetLeft" Grid.Column="0" Grid.Row="1">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockPaneLeft.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetInto" Grid.Column="1" Grid.Row="1">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockPaneInside.png" Stretch="None"/>
|
|
</Border>
|
|
</Grid>
|
|
</Grid>
|
|
<Grid x:Name="PART_DocumentPaneDropTargets">
|
|
<Grid Width="88" Height="88" VerticalAlignment="Center" HorizontalAlignment="Center">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Image Grid.ColumnSpan="3" Grid.RowSpan="3" Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/DockPaneEmpty.PNG" Stretch="Uniform"/>
|
|
<Border Name="PART_DocumentPaneDropTargetTop" Grid.Column="1" Grid.Row="0">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockDocPaneTop.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetRight" Grid.Column="2" Grid.Row="1">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockDocPaneRight.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetBottom" Grid.Column="1" Grid.Row="2">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockDocPaneBottom.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetLeft" Grid.Column="0" Grid.Row="1">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockDocPaneLeft.png" Stretch="None"/>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetInto" Grid.Column="1" Grid.Row="1">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/InnerDockPaneInside.png" Stretch="None"/>
|
|
</Border>
|
|
</Grid>
|
|
</Grid>
|
|
</Canvas>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<DataTemplate x:Key="DocumentHeaderTemplate">
|
|
<TextBlock Text="{Binding Title}" TextTrimming="CharacterEllipsis"/>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="AnchorableHeaderTemplate">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Image x:Name="icon" Source="{Binding IconSource, Converter={StaticResource NullToDoNothingConverter}}" Stretch="Uniform"/>
|
|
<TextBlock x:Name="title" Margin="4,0,0,0" Text="{Binding Title}" TextTrimming="CharacterEllipsis" Grid.Column="1"/>
|
|
</Grid>
|
|
<DataTemplate.Triggers>
|
|
<DataTrigger Binding="{Binding IconSource}" Value="{x:Null}">
|
|
<Setter Property="Margin" Value="0" TargetName="title"/>
|
|
</DataTrigger>
|
|
</DataTemplate.Triggers>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="DocumentTitleTemplate">
|
|
<TextBlock Text="{Binding Title}" TextTrimming="CharacterEllipsis"/>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="AnchorableTitleTemplate">
|
|
<TextBlock Text="{Binding Title}" TextTrimming="CharacterEllipsis"/>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="IconContentTemplate">
|
|
<Image Source="{Binding IconSource, Converter={StaticResource NullToDoNothingConverter}}" Stretch="Uniform"/>
|
|
</DataTemplate>
|
|
|
|
<ContextMenu x:Key="AnchorableContextMenu">
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Anchorable_Float}"
|
|
Command="{Binding Path=FloatCommand}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Anchorable_Dock}"
|
|
Command="{Binding Path=DockCommand}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Anchorable_DockAsDocument}"
|
|
Command="{Binding Path=DockAsDocumentCommand}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Anchorable_AutoHide}"
|
|
Command="{Binding Path=AutoHideCommand}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Anchorable_Hide}"
|
|
Command="{Binding Path=HideCommand}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"/>
|
|
</ContextMenu>
|
|
|
|
<ContextMenu x:Key="DocumentContextMenu">
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_Close}"
|
|
Command="{Binding Path=CloseCommand}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_CloseAllButThis}"
|
|
Command="{Binding Path=CloseAllButThisCommand}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_CloseAll}"
|
|
Command="{Binding Path=CloseAllCommand}" />
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_Float}"
|
|
Command="{Binding Path=FloatCommand}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_DockAsDocument}"
|
|
Command="{Binding Path=DockAsDocumentCommand}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_NewHorizontalTabGroup}"
|
|
Command="{Binding Path=NewHorizontalTabGroupCommand}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_NewVerticalTabGroup}"
|
|
Command="{Binding Path=NewVerticalTabGroupCommand}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_MoveToNextTabGroup}"
|
|
Command="{Binding Path=MoveToNextTabGroupCommand}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"/>
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Document_MoveToPreviousTabGroup}"
|
|
Command="{Binding Path=MoveToPreviousTabGroupCommand}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"/>
|
|
</ContextMenu>
|
|
|
|
<!--DockingManager-->
|
|
<Style x:Key="{x:Type avalonDock:DockingManager}" TargetType="{x:Type avalonDock:DockingManager}">
|
|
<Setter Property="DocumentPaneControlStyle" Value="{StaticResource DocumentPaneControlStyle}"/>
|
|
<Setter Property="AnchorablePaneControlStyle" Value="{StaticResource AnchorablePaneControlStyle}"/>
|
|
<Setter Property="AnchorSideTemplate" Value="{StaticResource AnchorSideTemplate}"/>
|
|
<Setter Property="AnchorGroupTemplate" Value="{StaticResource AnchorGroupTemplate}"/>
|
|
<Setter Property="AnchorTemplate" Value="{StaticResource AnchorTemplate}"/>
|
|
<Setter Property="DocumentHeaderTemplate" Value="{StaticResource DocumentHeaderTemplate}"/>
|
|
<Setter Property="AnchorableHeaderTemplate" Value="{StaticResource AnchorableHeaderTemplate}"/>
|
|
<Setter Property="DocumentTitleTemplate" Value="{StaticResource DocumentTitleTemplate}"/>
|
|
<Setter Property="AnchorableTitleTemplate" Value="{StaticResource AnchorableTitleTemplate}"/>
|
|
<Setter Property="AnchorableContextMenu" Value="{StaticResource AnchorableContextMenu}"/>
|
|
<Setter Property="DocumentContextMenu" Value="{StaticResource DocumentContextMenu}"/>
|
|
<Setter Property="DocumentPaneMenuItemHeaderTemplate" Value="{StaticResource DocumentHeaderTemplate}"/>
|
|
<Setter Property="IconContentTemplate" Value="{StaticResource IconContentTemplate}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDock:DockingManager}">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}">
|
|
<Grid FlowDirection="LeftToRight">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<ContentPresenter Content="{TemplateBinding LayoutRootPanel}" Grid.Column="1" Grid.Row="1"/>
|
|
<ContentPresenter Content="{TemplateBinding RightSidePanel}" Grid.Column="2" Grid.Row="1"/>
|
|
<ContentPresenter Content="{TemplateBinding LeftSidePanel}" Grid.Column="0" Grid.Row="1"/>
|
|
<ContentPresenter Content="{TemplateBinding TopSidePanel}" Grid.Column="1" Grid.Row="0"/>
|
|
<ContentPresenter Content="{TemplateBinding BottomSidePanel}" Grid.Column="1" Grid.Row="2"/>
|
|
<ContentPresenter
|
|
x:Name="PART_AutoHideArea"
|
|
Content="{TemplateBinding AutoHideWindow}"
|
|
VerticalAlignment="{TemplateBinding VerticalAlignment}"
|
|
HorizontalAlignment="{TemplateBinding HorizontalAlignment}"
|
|
Grid.Column="1" Grid.Row="1"/> <!---->
|
|
</Grid>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--LayoutGridResizerControl-->
|
|
<Style x:Key="{x:Type avalonDockControls:LayoutGridResizerControl}" TargetType="{x:Type avalonDockControls:LayoutGridResizerControl}">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutGridResizerControl}">
|
|
<Border Background="{TemplateBinding Background}"/>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type avalonDockControls:LayoutDocumentControl}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentControl}">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}">
|
|
<ContentPresenter Content="{Binding LayoutItem.View, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding LayoutItem.View.ContentTemplate, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplateSelector="{Binding LayoutItem.View.ContentTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentTabItem}">
|
|
<avalonDockControls:DropDownControlArea
|
|
DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}"
|
|
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Border Grid.ColumnSpan="2" Background="Transparent"/>
|
|
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding DocumentHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}"
|
|
ContentTemplateSelector="{Binding DocumentHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}" />
|
|
<!-- Close button should be moved out to the container style -->
|
|
<Button x:Name="DocumentCloseButton" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Grid.Column="1" Margin="5,0,0,0" Visibility="Hidden"
|
|
Command="{Binding Path=LayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinClose.png"/>
|
|
</Button>
|
|
</Grid>
|
|
</Border>
|
|
</avalonDockControls:DropDownControlArea>
|
|
<ControlTemplate.Triggers>
|
|
<DataTrigger Binding="{Binding Path=IsSelected}" Value="true">
|
|
<Setter Property="Visibility" Value="Visible" TargetName="DocumentCloseButton" />
|
|
</DataTrigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Visibility" Value="Visible" TargetName="DocumentCloseButton" />
|
|
</Trigger>
|
|
<DataTrigger Binding="{Binding Path=CanClose}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" TargetName="DocumentCloseButton" />
|
|
</DataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableTabItem}">
|
|
<avalonDockControls:DropDownControlArea
|
|
DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}"
|
|
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}">
|
|
<Grid>
|
|
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}"
|
|
ContentTemplateSelector="{Binding AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}"/>
|
|
<avalonDockControls:DropDownControlArea
|
|
Grid.Column="0"
|
|
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
|
|
DropDownContextMenuDataContext="{Binding Path=Model, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</Grid>
|
|
</Border>
|
|
</avalonDockControls:DropDownControlArea>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type avalonDockControls:LayoutAnchorableControl}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableControl}">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
KeyboardNavigation.TabNavigation="Cycle">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Border x:Name="Header">
|
|
<avalonDockControls:AnchorablePaneTitle Model="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</Border>
|
|
|
|
<ContentPresenter
|
|
Grid.Row="1"
|
|
FlowDirection="{TemplateBinding FlowDirection}"
|
|
Content="{Binding LayoutItem.View, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
|
|
<!--<ContentPresenter
|
|
FlowDirection="{TemplateBinding FlowDirection}"
|
|
Content="{Binding Model.Content, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding LayoutItemTemplate, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}"
|
|
ContentTemplateSelector="{Binding LayoutItemTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource AncestorType={x:Type avalonDock:DockingManager}, Mode=FindAncestor}}"
|
|
Grid.Row="1"/>-->
|
|
</Grid>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=Model.IsFloating}" Value="True"/>
|
|
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=Model.Parent.IsDirectlyHostedInFloatingWindow}" Value="True"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Visibility" Value="Collapsed" TargetName="Header"/>
|
|
</MultiDataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}" TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}">
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/>
|
|
<Setter Property="BorderThickness" Value="3"/>
|
|
<Setter Property="shell:WindowChrome.WindowChrome">
|
|
<Setter.Value>
|
|
<shell:WindowChrome
|
|
ResizeBorderThickness="10"
|
|
CaptionHeight="16"
|
|
CornerRadius="3,3,3,3"
|
|
GlassFrameThickness="0"
|
|
ShowSystemMenu="False"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutDocumentFloatingWindowControl}">
|
|
<Grid>
|
|
<Border x:Name="WindowBorder" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
|
|
<Grid Margin="3">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="16"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<ContentPresenter Content="{Binding Model.RootDocument, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding Model.Root.Manager.DocumentTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplateSelector="{Binding Model.Root.Manager.DocumentTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
|
|
|
|
<Button shell:WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Focusable="False"
|
|
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
|
|
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
|
|
Grid.Column="2">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinMaximize.png"/>
|
|
</Button>
|
|
|
|
<Button shell:WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Focusable="False"
|
|
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
|
|
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
|
|
Grid.Column="2">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinRestore.png"/>
|
|
</Button>
|
|
|
|
<Button shell:WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Focusable="False"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Command="{Binding Path=RootDocumentLayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Grid.Column="3">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinClose.png"/>
|
|
</Button>
|
|
</Grid>
|
|
<ContentPresenter Content="{TemplateBinding Content}" Grid.Row="1"/>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="WindowState" Value="Maximized">
|
|
<Setter Property="Padding" Value="3" TargetName="WindowBorder"/>
|
|
</Trigger>
|
|
<DataTrigger Binding="{Binding Model.RootDocument.IsActive, RelativeSource={RelativeSource Self}}" Value="True">
|
|
<Setter TargetName="WindowBorder" Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
|
</DataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}" TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}">
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
|
|
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}"/>
|
|
<Setter Property="BorderThickness" Value="3"/>
|
|
<Setter Property="shell:WindowChrome.WindowChrome">
|
|
<Setter.Value>
|
|
<shell:WindowChrome
|
|
ResizeBorderThickness="10"
|
|
CaptionHeight="16"
|
|
CornerRadius="3,3,3,3"
|
|
GlassFrameThickness="0"
|
|
ShowSystemMenu="False"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:LayoutAnchorableFloatingWindowControl}">
|
|
<Grid>
|
|
<Border x:Name="WindowBorder" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}">
|
|
<Grid Margin="3">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="16"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<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}}"
|
|
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}">
|
|
<ContentPresenter Content="{Binding Model.SinglePane.SelectedContent, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding Model.Root.Manager.AnchorableTitleTemplate, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableTitleTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</avalonDockControls:DropDownControlArea>
|
|
</Border>
|
|
|
|
|
|
<avalonDockControls:DropDownButton
|
|
x:Name="SinglePaneContextMenu"
|
|
shell:WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Visibility="{Binding Path=Model.IsSinglePane, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"
|
|
Focusable="False"
|
|
Grid.Column="1"
|
|
DropDownContextMenu="{Binding Model.Root.Manager.AnchorableContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
|
|
DropDownContextMenuDataContext="{Binding Path=SingleContentLayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_CxMenu_Hint}">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinMenu.png"/>
|
|
</avalonDockControls:DropDownButton>
|
|
|
|
<Button
|
|
shell:WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Focusable="False"
|
|
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource InverseBoolToVisibilityConverter}}"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Command="{x:Static shell:SystemCommands.MaximizeWindowCommand}"
|
|
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Window_Maximize}"
|
|
Grid.Column="2">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinMaximize.png"/>
|
|
</Button>
|
|
|
|
<Button
|
|
shell:WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Focusable="False"
|
|
Visibility="{Binding IsMaximized, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Command="{x:Static shell:SystemCommands.RestoreWindowCommand}"
|
|
CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Window_Restore}"
|
|
Grid.Column="2">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinRestore.png"/>
|
|
</Button>
|
|
|
|
<Button
|
|
shell:WindowChrome.IsHitTestVisibleInChrome="True"
|
|
Focusable="False"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Command="{Binding HideWindowCommand, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Anchorable_BtnClose_Hint}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}"
|
|
Grid.Column="3">
|
|
<Image Source="/Xceed.Wpf.AvalonDock;component/Themes/Generic/Images/PinClose.png"/>
|
|
</Button>
|
|
</Grid>
|
|
<ContentPresenter
|
|
Content="{TemplateBinding Content}" Grid.Row="1"/>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="WindowState" Value="Maximized">
|
|
<Setter Property="Padding" Value="3" TargetName="WindowBorder"/>
|
|
</Trigger>
|
|
<DataTrigger Binding="{Binding Model.SinglePane.SelectedContent.IsActive, RelativeSource={RelativeSource Self}}" Value="True">
|
|
<Setter TargetName="WindowBorder" Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
|
</DataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="{x:Type avalonDockControls:LayoutAutoHideWindowControl}" TargetType="{x:Type avalonDockControls:LayoutAutoHideWindowControl}">
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
|
|
</Style>
|
|
|
|
<Style x:Key="{x:Type avalonDockControls:NavigatorWindow}" TargetType="{x:Type avalonDockControls:NavigatorWindow}">
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
|
|
<Setter Property="SizeToContent" Value="WidthAndHeight"/>
|
|
<Setter Property="ResizeMode" Value="NoResize"/>
|
|
<Setter Property="shell:WindowChrome.WindowChrome">
|
|
<Setter.Value>
|
|
<shell:WindowChrome
|
|
ResizeBorderThickness="10"
|
|
CaptionHeight="16"
|
|
CornerRadius="3,3,3,3"
|
|
GlassFrameThickness="4"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type avalonDockControls:NavigatorWindow}">
|
|
<Grid>
|
|
<Border x:Name="WindowBorder" BorderThickness="3"
|
|
Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"
|
|
BorderBrush="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}">
|
|
<Grid Margin="5">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="54"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="42"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Image Source="{Binding SelectedDocument.LayoutElement.IconSource, Converter={StaticResource NullToDoNothingConverter}}" Stretch="None"/>
|
|
<TextBlock Text="{Binding SelectedDocument.LayoutElement.Title}" TextTrimming="CharacterEllipsis" Grid.Column="1" VerticalAlignment="Center" FontWeight="Bold" Margin="4,0,0,0"/>
|
|
</Grid>
|
|
<TextBlock Text="{Binding SelectedDocument.LayoutElement.Description}" TextTrimming="CharacterEllipsis" VerticalAlignment="Center"/>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid Margin="5">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Active Tool Windows" FontWeight="Bold" Margin="0,3,0,4"/>
|
|
<ListBox Grid.Row="1" ItemsSource="{Binding Anchorables}" SelectedItem="{Binding SelectedAnchorable, Mode=TwoWay}" Background="Transparent" BorderThickness="0" MaxHeight="400" FocusVisualStyle="{x:Null}">
|
|
<ListBox.ItemContainerStyle>
|
|
<Style TargetType="ListBoxItem">
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
|
<Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ListBox.ItemContainerStyle>
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Image Source="{Binding LayoutElement.IconSource, Converter={StaticResource NullToDoNothingConverter}}" Stretch="None"/>
|
|
<TextBlock Text="{Binding LayoutElement.Title}" TextTrimming="CharacterEllipsis" Grid.Column="1" Margin="4,2,0,2"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</Grid>
|
|
<Grid Grid.Column="1" Margin="5">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition/>
|
|
</Grid.RowDefinitions>
|
|
<TextBlock Text="Active Files" FontWeight="Bold" Margin="0,3,0,4"/>
|
|
<ListBox Grid.Row="1" ItemsSource="{Binding Documents}" SelectedItem="{Binding SelectedDocument, Mode=TwoWay}" Background="Transparent" BorderThickness="0" MaxHeight="400" FocusVisualStyle="{x:Null}">
|
|
<ListBox.ItemContainerStyle>
|
|
<Style TargetType="ListBoxItem">
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
|
<Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ListBox.ItemContainerStyle>
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition/>
|
|
</Grid.ColumnDefinitions>
|
|
<Image Source="{Binding LayoutElement.IconSource, Converter={StaticResource NullToDoNothingConverter}}" Stretch="None"/>
|
|
<TextBlock Text="{Binding LayoutElement.Title}" TextTrimming="CharacterEllipsis" Grid.Column="1" Margin="4,2,0,2"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<WrapPanel Orientation="Vertical"/>
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
</ListBox>
|
|
</Grid>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="2">
|
|
<TextBlock Text="{Binding SelectedDocument.LayoutElement.ToolTip}" VerticalAlignment="Center"/>
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
</Style>
|
|
|
|
</ResourceDictionary>
|