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/TreeListView.xaml |  140 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 140 insertions(+), 0 deletions(-)

diff --git a/HMI.UI/Controls/treegrid/Themes/TreeListView.xaml b/HMI.UI/Controls/treegrid/Themes/TreeListView.xaml
new file mode 100644
index 0000000..4a5891e
--- /dev/null
+++ b/HMI.UI/Controls/treegrid/Themes/TreeListView.xaml
@@ -0,0 +1,140 @@
+锘�<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
+                    xmlns:controls="clr-namespace:HMI.UI">
+
+    <Style TargetType="{x:Type controls:TreeListView}">
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="{x:Type controls:TreeListView}">
+                    <Border BorderBrush="{TemplateBinding BorderBrush}"
+                        BorderThickness="{TemplateBinding BorderThickness}"
+                        Background="{TemplateBinding Background}">
+                        <Grid>
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="Auto"/>
+                                <RowDefinition/>
+                            </Grid.RowDefinitions>
+                            <GridViewHeaderRowPresenter Grid.Row="0" 
+                                                        Columns="{TemplateBinding Columns}"/>
+                            <ScrollViewer Grid.Row="1" Padding="{TemplateBinding Padding}" VerticalScrollBarVisibility="Auto">
+                                <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
+                            </ScrollViewer>
+                        </Grid>
+                    </Border>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+
+    <!--<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
+        <Setter Property="Width" Value="10"/>
+        <Setter Property="Height" Value="10"/>
+        <Setter Property="Margin" Value="0"/>
+        <Setter Property="Padding" Value="0"/>
+        <Setter Property="ToggleButton.RenderTransformOrigin" Value="0.5,0.5"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="ToggleButton">
+                    <Path x:Name="ExpandPath" Margin="0" Fill="Black" Stroke="Black" 
+                      Data="M 4 0 L 10 5 L 4 10 Z"/>
+                    <ControlTemplate.Triggers>
+                        <Trigger Property="IsChecked" Value="True">
+                            <Setter Property="ToggleButton.RenderTransform">
+                                <Setter.Value>
+                                    <RotateTransform Angle="90"/>
+                                </Setter.Value>
+                            </Setter>
+                        </Trigger>
+                    </ControlTemplate.Triggers>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>-->
+
+    <Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
+        <Setter Property="Margin" Value="0"/>
+        <Setter Property="Padding" Value="0"/>
+        <Setter Property="Template">
+            <Setter.Value>
+                <ControlTemplate TargetType="ToggleButton">
+                    <Border Background="Transparent" Cursor="Hand">
+                        <Grid x:Name="cross" Height="16"  Width="16" >
+                            <Path Data="M 0.5,0.5 l 15,0 l 0,15 l -15,0 L 0.5,0" Stroke="{TemplateBinding Foreground}" StrokeThickness="1"/>
+                            <Path x:Name="cross_h" Data="M 3,7.5 l 9,0" Stroke="{TemplateBinding Foreground}" StrokeThickness="1"/>
+                            <Path x:Name="cross_v" Data="M 7.5,3 l 0,9" Stroke="{TemplateBinding Foreground}" StrokeThickness="1"/>
+                        </Grid>
+                    </Border>
+                    <ControlTemplate.Triggers>
+                        <Trigger Property="IsChecked" Value="True">
+                            <Setter Property="Visibility" TargetName="cross_v" Value="Collapsed"/>
+                        </Trigger>
+                    </ControlTemplate.Triggers>
+                </ControlTemplate>
+            </Setter.Value>
+        </Setter>
+    </Style>
+
+    <ControlTemplate x:Key="tvi" TargetType="{x:Type controls:TreeListViewItem}">
+        <Grid>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="Auto"/>
+                <ColumnDefinition Width="*"/>
+            </Grid.ColumnDefinitions>
+            <Grid.RowDefinitions>
+                <RowDefinition Height="Auto"/>
+                <RowDefinition/>
+            </Grid.RowDefinitions>
+
+            <Border x:Name="Bd"
+            Grid.Column="1"
+            Background="{TemplateBinding Background}"
+            BorderBrush="{TemplateBinding BorderBrush}"
+            BorderThickness="{TemplateBinding BorderThickness}"
+            Padding="{TemplateBinding Padding}">
+
+                <!--<GridViewRowPresenter x:Name="sb" Grid.Column="1" Columns="{TemplateBinding Columns}" 
+                                      Content="{Binding }"/>-->
+
+                <ContentPresenter Grid.Column="0" x:Name="cp"
+        Content="{TemplateBinding Header}"
+        ContentTemplate="{TemplateBinding HeaderTemplate}"
+        ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}"/>
+
+                <!--<Grid>
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="Auto"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                
+                -->
+                <!--<GridViewRowPresenter Grid.Column="1" Columns="{TemplateBinding Columns}" 
+                                      Content="{Binding }"/>-->
+                <!--
+            </Grid>-->
+            </Border>
+
+            <ItemsPresenter x:Name="ItemsHost"
+                  Grid.Row="1"
+                  Grid.Column="1"/>
+        </Grid>
+        <ControlTemplate.Triggers>
+            <Trigger Property="IsExpanded" Value="False">
+                <Setter Property="Visibility" Value="Collapsed" TargetName="ItemsHost"/>
+            </Trigger>
+            <DataTrigger Binding="{Binding IsSelected,RelativeSource={RelativeSource Mode=Self}}" Value="True">
+                <Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+                <Setter Property="TextBlock.Foreground" TargetName="cp"  Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
+            </DataTrigger>
+            <!--<DataTrigger Binding="{Binding IsMouseOver,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=controls:TreeListViewItem,AncestorLevel=1}}" Value="True">
+            <Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
+            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
+        </DataTrigger>-->
+        </ControlTemplate.Triggers>
+    </ControlTemplate>
+
+    <Style TargetType="{x:Type controls:TreeListViewItem}">
+        <Setter Property="Margin" Value="0"/>
+        <Setter Property="Padding" Value="0"/>
+        <Setter Property="Template" Value="{StaticResource tvi}"/>
+    </Style>
+</ResourceDictionary>
\ No newline at end of file

--
Gitblit v1.9.1