From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
HMI.UI/Controls/treegrid/Themes/TreeGrid.xaml | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/HMI.UI/Controls/treegrid/Themes/TreeGrid.xaml b/HMI.UI/Controls/treegrid/Themes/TreeGrid.xaml
new file mode 100644
index 0000000..a9794d6
--- /dev/null
+++ b/HMI.UI/Controls/treegrid/Themes/TreeGrid.xaml
@@ -0,0 +1,113 @@
+锘�<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="clr-namespace:HMI.UI">
+ <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>
\ No newline at end of file
--
Gitblit v1.9.1