<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:local="clr-namespace:PdmSwPlugin.Common.Control.TreeGrid">
|
<SolidColorBrush x:Key="TreeIconStroke" Color="Blue" />
|
|
<Style x:Key="TreeGridItemStyle" TargetType="{x:Type local:TreeGridItem}">
|
<Setter Property="Foreground" Value="Black"/>
|
<Setter Property="Background" Value="Transparent"/>
|
<Setter Property="IsExpanded" Value="True"/>
|
<Setter Property="Template">
|
<Setter.Value>
|
<ControlTemplate TargetType="{x:Type local:TreeGridItem}">
|
<StackPanel>
|
<Border Name="Bd"
|
Background="Transparent"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderThickness="{TemplateBinding BorderThickness}"
|
Padding="{TemplateBinding Padding}">
|
<GridViewRowPresenter x:Name="PART_Header"
|
Content="{TemplateBinding Header}"
|
Columns="{Binding Path=Columns,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=local:TreeGrid}}" />
|
</Border>
|
<ItemsPresenter x:Name="ItemsHost" />
|
</StackPanel>
|
<ControlTemplate.Triggers>
|
<Trigger Property="IsExpanded" Value="false">
|
<Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed"/>
|
</Trigger>
|
<MultiTrigger>
|
<MultiTrigger.Conditions>
|
<Condition Property="HasHeader" Value="false"/>
|
<Condition Property="Width" Value="Auto"/>
|
</MultiTrigger.Conditions>
|
<Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
|
</MultiTrigger>
|
<MultiTrigger>
|
<MultiTrigger.Conditions>
|
<Condition Property="HasHeader" Value="false"/>
|
<Condition Property="Height" Value="Auto"/>
|
</MultiTrigger.Conditions>
|
<Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
|
</MultiTrigger>
|
<Trigger Property="IsSelected" Value="true">
|
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
|
</Trigger>
|
<MultiTrigger>
|
<MultiTrigger.Conditions>
|
<Condition Property="IsSelected" Value="true"/>
|
<Condition Property="IsSelectionActive" Value="false"/>
|
</MultiTrigger.Conditions>
|
<Setter TargetName="Bd" Property="Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
|
</MultiTrigger>
|
<Trigger Property="IsEnabled" Value="false">
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
|
</Trigger>
|
</ControlTemplate.Triggers>
|
</ControlTemplate>
|
</Setter.Value>
|
</Setter>
|
</Style>
|
|
<Style TargetType="{x:Type local:TreeGridItem}" BasedOn="{StaticResource TreeGridItemStyle}"/>
|
|
<Style TargetType="{x:Type local:TreeGridCell}">
|
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
<Setter Property="Template">
|
<Setter.Value>
|
<ControlTemplate TargetType="{x:Type local:TreeGridCell}">
|
<Border x:Name="CellBorder"
|
Margin="0,0,-0.5,0"
|
Background="{TemplateBinding Background}"
|
BorderBrush="{x:Null}"
|
BorderThickness="0,0,1,1">
|
<ContentControl Content="{TemplateBinding Content}"
|
ContentTemplate="{TemplateBinding ContentTemplate}"
|
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
SnapsToDevicePixels="True"/>
|
</Border>
|
<ControlTemplate.Triggers>
|
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=local:TreeGrid},Path=ShowCellBorder}" Value="true">
|
<Setter TargetName="CellBorder" Property="BorderBrush" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=local:TreeGrid},Path=CellBorderBrush}" />
|
</DataTrigger>
|
</ControlTemplate.Triggers>
|
</ControlTemplate>
|
</Setter.Value>
|
</Setter>
|
</Style>
|
|
<Style TargetType="{x:Type local:TreeGrid}">
|
<Setter Property="IconStroke" Value="{StaticResource TreeIconStroke}"/>
|
<Setter Property="ItemContainerStyle" Value="{StaticResource {x:Type local:TreeGridItem}}"/>
|
<Setter Property="Template">
|
<Setter.Value>
|
<ControlTemplate TargetType="{x:Type local:TreeGrid}">
|
<Border Background="{TemplateBinding Background}"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderThickness="{TemplateBinding BorderThickness}">
|
<DockPanel>
|
<GridViewHeaderRowPresenter Columns="{TemplateBinding Columns}"
|
Height="{TemplateBinding RowHeight}"
|
DockPanel.Dock="Top"/>
|
<ItemsPresenter/>
|
</DockPanel>
|
</Border>
|
</ControlTemplate>
|
</Setter.Value>
|
</Setter>
|
</Style>
|
</ResourceDictionary>
|