You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1438 lines
77 KiB
1438 lines
77 KiB
<!--***********************************************************************************
|
|
|
|
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
|
|
|
|
**********************************************************************************-->
|
|
|
|
<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:avalonDockControls="clr-namespace:Xceed.Wpf.AvalonDock.Controls"
|
|
xmlns:avalonDockConverters="clr-namespace:Xceed.Wpf.AvalonDock.Converters"
|
|
xmlns:avalonDockProperties="clr-namespace:Xceed.Wpf.AvalonDock.Properties"
|
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit">
|
|
|
|
<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" />
|
|
<avalonDockConverters:AnchorableContextMenuHideVisibilityConverter x:Key="AnchorableContextMenuHideVisibilityConverter" />
|
|
|
|
<DataTemplate x:Key="DocumentPaneControlContentTemplate">
|
|
<avalonDockControls:LayoutDocumentControl Model="{Binding}" />
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="AnchorablePaneControlContentTemplate">
|
|
<avalonDockControls:LayoutAnchorableControl Model="{Binding}" />
|
|
</DataTemplate>
|
|
|
|
<!--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"
|
|
KeyboardNavigation.DirectionalNavigation="Cycle" />
|
|
<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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinDocMenu.png}">
|
|
</Image>
|
|
</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}"
|
|
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"
|
|
Value="{StaticResource DocumentPaneControlContentTemplate}" />
|
|
|
|
</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"
|
|
KeyboardNavigation.DirectionalNavigation="Cycle"
|
|
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}">
|
|
<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"
|
|
Value="{StaticResource AnchorablePaneControlContentTemplate}" />
|
|
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinMenu.png}">
|
|
</Image>
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinAutoHide.png}">
|
|
</Image>
|
|
</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_Hide}">
|
|
<Border Background="White">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinClose.png}">
|
|
</Image>
|
|
</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>
|
|
<DataTrigger Binding="{Binding Model.CanClose, RelativeSource={RelativeSource Mode=Self}}"
|
|
Value="True">
|
|
<Setter Property="Command"
|
|
TargetName="PART_HidePin"
|
|
Value="{Binding Path=LayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
<Setter Property="ToolTip"
|
|
TargetName="PART_HidePin"
|
|
Value="{x:Static avalonDockProperties:Resources.Document_Close}" />
|
|
|
|
</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}"
|
|
Background="{TemplateBinding Background}">
|
|
<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 Model.Root.Manager.AnchorableHeaderTemplate, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplateSelector="{Binding Model.Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/DockLeft.PNG}"
|
|
Stretch="None">
|
|
</Image>
|
|
<Image x:Name="PART_DockingManagerDropTargetRight"
|
|
VerticalAlignment="Center"
|
|
HorizontalAlignment="Right"
|
|
Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/DockRight.PNG}"
|
|
Stretch="None">
|
|
</Image>
|
|
<Image x:Name="PART_DockingManagerDropTargetBottom"
|
|
VerticalAlignment="Bottom"
|
|
HorizontalAlignment="Center"
|
|
Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/DockBottom.PNG}"
|
|
Stretch="None">
|
|
</Image>
|
|
<Image x:Name="PART_DockingManagerDropTargetTop"
|
|
VerticalAlignment="Top"
|
|
HorizontalAlignment="Center"
|
|
Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/DockTop.PNG}"
|
|
Stretch="None">
|
|
</Image>
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/DockPaneEmpty.PNG}"
|
|
Stretch="Uniform">
|
|
</Image>
|
|
<Border Name="PART_AnchorablePaneDropTargetTop"
|
|
Grid.Column="1"
|
|
Grid.Row="0">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockPaneTop.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetRight"
|
|
Grid.Column="2"
|
|
Grid.Row="1">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockPaneRight.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetBottom"
|
|
Grid.Column="1"
|
|
Grid.Row="2">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockPaneBottom.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetLeft"
|
|
Grid.Column="0"
|
|
Grid.Row="1">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockPaneLeft.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_AnchorablePaneDropTargetInto"
|
|
Grid.Column="1"
|
|
Grid.Row="1">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockPaneInside.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/DockPaneEmpty.PNG}"
|
|
Stretch="Uniform">
|
|
</Image>
|
|
<Border Name="PART_DocumentPaneDropTargetTop"
|
|
Grid.Column="1"
|
|
Grid.Row="0">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockDocPaneTop.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetRight"
|
|
Grid.Column="2"
|
|
Grid.Row="1">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockDocPaneRight.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetBottom"
|
|
Grid.Column="1"
|
|
Grid.Row="2">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockDocPaneBottom.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetLeft"
|
|
Grid.Column="0"
|
|
Grid.Row="1">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockDocPaneLeft.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
<Border Name="PART_DocumentPaneDropTargetInto"
|
|
Grid.Column="1"
|
|
Grid.Row="1">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/InnerDockPaneInside.png}"
|
|
Stretch="None">
|
|
</Image>
|
|
</Border>
|
|
</Grid>
|
|
</Grid>
|
|
</Canvas>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<DataTemplate x:Key="DocumentHeaderTemplate">
|
|
<TextBlock Text="{Binding Title}"
|
|
TextTrimming="CharacterEllipsis">
|
|
</TextBlock>
|
|
</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">
|
|
</Image>
|
|
<TextBlock x:Name="title"
|
|
Margin="4,0,0,0"
|
|
Text="{Binding Title}"
|
|
TextTrimming="CharacterEllipsis"
|
|
Grid.Column="1">
|
|
</TextBlock>
|
|
</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">
|
|
</TextBlock>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="AnchorableTitleTemplate">
|
|
<TextBlock Text="{Binding Title}"
|
|
TextTrimming="CharacterEllipsis">
|
|
</TextBlock>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="IconContentTemplate">
|
|
<Image Source="{Binding IconSource, Converter={StaticResource NullToDoNothingConverter}}"
|
|
Stretch="Uniform">
|
|
</Image>
|
|
</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.Document_Close}"
|
|
Command="{Binding Path=CloseCommand}"
|
|
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}" />
|
|
<MenuItem Header="{x:Static avalonDockProperties:Resources.Anchorable_Hide}"
|
|
Command="{Binding Path=HideCommand}">
|
|
<MenuItem.Visibility>
|
|
<MultiBinding Converter="{StaticResource AnchorableContextMenuHideVisibilityConverter}">
|
|
<Binding Path="IsEnabled"
|
|
RelativeSource="{RelativeSource Self}"
|
|
Mode="OneWay"
|
|
Converter="{StaticResource BoolToVisibilityConverter}" />
|
|
<Binding Path="CanClose" />
|
|
</MultiBinding>
|
|
</MenuItem.Visibility>
|
|
</MenuItem>
|
|
</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="0"
|
|
Grid.RowSpan="3" />
|
|
<ContentPresenter Content="{TemplateBinding LeftSidePanel}"
|
|
Grid.Column="0"
|
|
Grid.Row="0"
|
|
Grid.RowSpan="3" />
|
|
<ContentPresenter Content="{TemplateBinding TopSidePanel}"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="3"
|
|
Grid.Row="0" />
|
|
<ContentPresenter Content="{TemplateBinding BottomSidePanel}"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="3"
|
|
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.Content, 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}">
|
|
<!--Use a transparent background to hit for contextMenu popup-->
|
|
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.DocumentContextMenu}"
|
|
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Background="Transparent">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border Grid.ColumnSpan="3"
|
|
Background="Transparent" />
|
|
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding Root.Manager.DocumentHeaderTemplate, Mode=OneWay}"
|
|
ContentTemplateSelector="{Binding Root.Manager.DocumentHeaderTemplateSelector, Mode=OneWay}" />
|
|
|
|
<Button x:Name="DocumentCloseButton"
|
|
Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
|
|
Grid.Column="2"
|
|
Visibility="Hidden"
|
|
Command="{Binding Path=LayoutItem.CloseCommand, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ToolTip="{x:Static avalonDockProperties:Resources.Document_Close}">
|
|
<Image Source="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinClose.png}">
|
|
</Image>
|
|
</Button>
|
|
</Grid>
|
|
</Border>
|
|
</avalonDockControls:DropDownControlArea>
|
|
<ControlTemplate.Triggers>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding Path=IsSelected}"
|
|
Value="True" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Visibility"
|
|
Value="Visible"
|
|
TargetName="DocumentCloseButton" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding Path=IsMouseOver, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Value="True" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Visibility"
|
|
Value="Visible"
|
|
TargetName="DocumentCloseButton" />
|
|
</MultiDataTrigger>
|
|
<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}">
|
|
<!--Use a transparent background to hit for contextMenu popup-->
|
|
<avalonDockControls:DropDownControlArea DropDownContextMenu="{Binding Root.Manager.AnchorableContextMenu}"
|
|
DropDownContextMenuDataContext="{Binding LayoutItem, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Background="Transparent">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Margin="{Binding Padding, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}}">
|
|
<Grid>
|
|
<ContentPresenter Content="{Binding Model, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding Root.Manager.AnchorableHeaderTemplate, Mode=OneWay}"
|
|
ContentTemplateSelector="{Binding Root.Manager.AnchorableHeaderTemplateSelector, Mode=OneWay}" />
|
|
</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.Content, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplate="{Binding LayoutItem.View.ContentTemplate, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ContentTemplateSelector="{Binding LayoutItem.View.ContentTemplateSelector, 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}">
|
|
<AdornerDecorator>
|
|
<Grid>
|
|
<Border x:Name="WindowBorder"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}">
|
|
<Grid Margin="3">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition MinHeight="16"
|
|
Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid UseLayoutRounding="True">
|
|
<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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinMaximize.png}">
|
|
</Image>
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinRestore.png}">
|
|
</Image>
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinClose.png}">
|
|
</Image>
|
|
</Button>
|
|
</Grid>
|
|
<ContentPresenter Content="{TemplateBinding Content}"
|
|
Grid.Row="1" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</AdornerDecorator>
|
|
<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}">
|
|
<AdornerDecorator>
|
|
<Grid>
|
|
<Border x:Name="WindowBorder"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}">
|
|
<Grid Margin="3">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition MinHeight="16"
|
|
Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Grid UseLayoutRounding="True">
|
|
<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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinMenu.png}">
|
|
</Image>
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinMaximize.png}">
|
|
</Image>
|
|
</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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinRestore.png}">
|
|
</Image>
|
|
</Button>
|
|
|
|
<Button x:Name="CloseButton"
|
|
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="{xctk:ImageUri AssemblyName=Xceed.Wpf.AvalonDock, Path=Themes/Generic/Images/PinClose.png}">
|
|
</Image>
|
|
</Button>
|
|
</Grid>
|
|
<ContentPresenter Content="{TemplateBinding Content}"
|
|
Grid.Row="1" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</AdornerDecorator>
|
|
|
|
<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>
|
|
<DataTrigger Binding="{Binding Model.SinglePane.SelectedContent.CanClose, RelativeSource={RelativeSource Mode=Self}}"
|
|
Value="True">
|
|
<Setter Property="Command"
|
|
TargetName="CloseButton"
|
|
Value="{Binding CloseWindowCommand, RelativeSource={RelativeSource TemplatedParent}}" />
|
|
<Setter Property="ToolTip"
|
|
TargetName="CloseButton"
|
|
Value="{x:Static avalonDockProperties:Resources.Document_Close}" />
|
|
|
|
</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">
|
|
</Image>
|
|
<TextBlock x:Name="selectedElementTitle"
|
|
Text="{Binding SelectedDocument.LayoutElement.Title}"
|
|
TextTrimming="CharacterEllipsis"
|
|
Grid.Column="1"
|
|
VerticalAlignment="Center"
|
|
FontWeight="Bold"
|
|
Margin="4,0,0,0">
|
|
</TextBlock>
|
|
</Grid>
|
|
<TextBlock x:Name="selectedElementDescription"
|
|
Text="{Binding SelectedDocument.LayoutElement.Description}"
|
|
TextTrimming="CharacterEllipsis"
|
|
VerticalAlignment="Center">
|
|
</TextBlock>
|
|
</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">
|
|
</TextBlock>
|
|
<ListBox x:Name="PART_AnchorableListBox"
|
|
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">
|
|
</Image>
|
|
<TextBlock Text="{Binding LayoutElement.Title}"
|
|
TextTrimming="CharacterEllipsis"
|
|
Grid.Column="1"
|
|
Margin="4,2,0,2">
|
|
</TextBlock>
|
|
</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">
|
|
</TextBlock>
|
|
<ListBox x:Name="PART_DocumentListBox"
|
|
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">
|
|
</Image>
|
|
<TextBlock Text="{Binding LayoutElement.Title}"
|
|
TextTrimming="CharacterEllipsis"
|
|
Grid.Column="1"
|
|
Margin="4,2,0,2">
|
|
</TextBlock>
|
|
</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">
|
|
</TextBlock>
|
|
</Grid>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="SelectedDocument"
|
|
Value="{x:Null}">
|
|
<Setter Property="Text"
|
|
Value="{Binding SelectedAnchorable.LayoutElement.Title}"
|
|
TargetName="selectedElementTitle" />
|
|
<Setter Property="Text"
|
|
Value="{x:Null}"
|
|
TargetName="selectedElementDescription" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
</Style>
|
|
|
|
</ResourceDictionary>
|
|
|