alielie
2025-05-12 7bf89fd93bc487e8445d6d85bb527251b7371a04
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
<hb:PluginControl x:Class="Plugin.TestBuilder.TestBuilder"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:hb="clr-namespace:HMI.Base;assembly=HMI.Base"
             xmlns:pw="https://opensource.panuon.com/wpf"
             xmlns:pu="https://opensource.panuon.com/wpf-ui"
             xmlns:ui="clr-namespace:Plugin.TestBuilder.UI"
             xmlns:dd="urn:gong-wpf-dragdrop"
             xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
             xmlns:hui="clr-namespace:HMI.UI;assembly=HMI.UI"
             mc:Ignorable="d"
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <pu:StyleDictionary Includes="ListBox"/>
                <ResourceDictionary Source="/HMI.UI;component/Controls/TreeGrid/Themes/TreeItemContentControl.xaml"/>
                <ResourceDictionary Source="/HMI.UI;component/Controls/TreeGrid/Themes/TreeGrid.xaml"/>
            </ResourceDictionary.MergedDictionaries>
 
            <!-- 树Grid组件 -->
            <hui:TreeItemDataConverter x:Key="TreeItemDataConverter"/>
 
            <CollectionViewSource x:Key="TreeGridFilter" Filter="CollectionViewSource_Filter" 
                       Source="{Binding Datasource,Converter={StaticResource TreeItemDataConverter},ConverterParameter=Children}">
 
            </CollectionViewSource>
        </ResourceDictionary>
    </UserControl.Resources>
 
    <Border Style="{StaticResource CardBoarder}">
        <Grid dp:GridHelper.Space="10" Cursor="">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition/>
            </Grid.RowDefinitions>
 
 
            <DockPanel>
                <StackPanel DockPanel.Dock="Right" Style="{StaticResource ButtonGroup}">
                    <Button Style="{StaticResource AddBtn}"
                            x:Name="addBtn" Click="Button_Click"/>
                    <Button Style="{StaticResource RfhBtn}"
                            x:Name="resetBtn" Click="Button_Click"/>
                    <Button x:Name="exportBtn"
                            Style="{StaticResource ExportBtn}" Click="Button_Click"/>
                </StackPanel>
                <TextBlock FontSize="{StaticResource TitleFontSize}" 
VerticalAlignment="Center" HorizontalAlignment="Left" Text="adsad"/>
 
                <!--<StackPanel Style="{StaticResource ButtonGroup}" HorizontalAlignment="Left">
                    <TextBlock Style="{StaticResource TitleBox}" FontSize="14" Text="{DynamicResource log.level}"/>
                    <ComboBox Style="{StaticResource FormComboxStyle}" x:Name="levelInput" 
                              Width="180"
                              SelectedValuePath="Content">
                        <ComboBoxItem Content="Debug"/>
                        <ComboBoxItem Content="Info"/>
                        <ComboBoxItem Content="Warn"/>
                        <ComboBoxItem Content="Error"/>
                    </ComboBox>
 
                    <TextBlock Style="{StaticResource TitleBox}" FontSize="14" Text="{DynamicResource App.StartTime}"/>
                    <pu:DateTimePicker Style="{StaticResource TimePicker}" x:Name="startTimeInput"/>
 
                    <TextBlock Style="{StaticResource TitleBox}" FontSize="14" Text="{DynamicResource App.EndTime}"/>
                    <pu:DateTimePicker Style="{StaticResource TimePicker}" x:Name="endTimeInput"/>
 
                    <TextBlock Style="{StaticResource TitleBox}" FontSize="14" Text="{DynamicResource log.source}"/>
                    <TextBox Style="{StaticResource EditorTextBoxStyle}" x:Name="sourceInput" Width="180"/>
 
                    <TextBlock Style="{StaticResource TitleBox}" FontSize="14" Text="{DynamicResource log.autoRefresh}"/>
                    <CheckBox x:Name="autoRfhInput" HorizontalAlignment="Center" VerticalAlignment="Center"
                              IsChecked="{Binding AutoRfh,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
                </StackPanel>-->
            </DockPanel>
 
            <hui:TreeDataGrid Grid.Row="1" x:Name="treeDataGrid" 
                              ExpandedChange="treeDataGrid_ExpandedChange" 
                              ItemsSource="{Binding Source={StaticResource TreeGridFilter}}" 
                              dd:DragDrop.IsDragSource="True"
                              dd:DragDrop.IsDropTarget="True"
                              dd:DragDrop.ShowAlwaysDropTargetAdorner="True"
                              dd:DragDrop.UseDefaultDragAdorner="True"
                              dd:DragDrop.DropHandler="{Binding dropHandler}"
                              
                              Style="{StaticResource DefaultDataGrid}" ColumnWidth="*">
                <!--LoadingRow="treeDataGrid_LoadingRow">-->
                <!--<hui:TreeDataGrid.Resources>
                   
                </hui:TreeDataGrid.Resources>-->
                <hui:TreeDataGrid.Columns>
                    <DataGridTemplateColumn IsReadOnly="True">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <hui:TreeItemContentControl IconLineStroke="Black" TreeData="{Binding }"/>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
 
                    
 
                    <DataGridTextColumn Header="名称" x:Name="nameCol" Binding="{Binding Data.Name}"></DataGridTextColumn>
                    <DataGridTextColumn Header="测试项" Binding="{Binding Item}"></DataGridTextColumn>
                    <DataGridTextColumn Header="上限" Binding="{Binding LimitUp}"></DataGridTextColumn>
                    <DataGridTextColumn Header="下限" Binding="{Binding LimitDown}"></DataGridTextColumn>
                    <DataGridTextColumn Header="单位" Binding="{Binding Unit}"></DataGridTextColumn>
                    <DataGridTextColumn Header="启用" Binding="{Binding IsEnable}"></DataGridTextColumn>
                    <DataGridTextColumn Header="MES上传" Binding="{Binding IsUploadMes}"></DataGridTextColumn>
                    <DataGridTextColumn Header="重测" Binding="{Binding IsRetest}"></DataGridTextColumn>
 
                </hui:TreeDataGrid.Columns>
            </hui:TreeDataGrid>
 
            <!--<DataGrid Style="{StaticResource DefaultDataGrid}" AutoGenerateColumns="False"
                CanUserSortColumns="False"
              FrozenColumnCount="1" Background="#FFF" Grid.Row="1" 
              BorderThickness="0"
              dd:DragDrop.IsDragSource="True"
              dd:DragDrop.IsDropTarget="True"
              dd:DragDrop.ShowAlwaysDropTargetAdorner="True"
              dd:DragDrop.UseDefaultDragAdorner="True"
            IsReadOnly="False"
                      x:Name="table"
              dd:DragDrop.SelectDroppedItems="True"
              dd:DragDrop.DropHandler="{Binding dropHandler}"       
                      RowDetailsVisibilityMode="Collapsed"
              ItemsSource="{Binding Datasource}">
 
                <DataGrid.RowDetailsTemplate>
                    <DataTemplate>
                        <DataGrid Style="{StaticResource DefaultDataGrid}"
            HeadersVisibility="None"
                          ItemsSource="{Binding Children}">
                            <DataGrid.Columns>
                                <DataGridTemplateColumn Header="#" CanUserResize="False">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBlock Text="{Binding Converter={StaticResource rowNumber},
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>
 
                                <DataGridTextColumn Header="名称" Width="{Binding ElementName=nameCol,Path=Width}"
                                                    Binding="{Binding Name}"></DataGridTextColumn>
                            </DataGrid.Columns>
                        </DataGrid>
                    </DataTemplate>
                </DataGrid.RowDetailsTemplate>
 
 
                --><!--<DataGrid.GroupStyle>
                    -->
                <!-- Style for groups at top level. -->
                <!--
                    <GroupStyle>
                        <GroupStyle.ContainerStyle>
                            <Style TargetType="{x:Type GroupItem}">
                                <Setter Property="Margin" Value="0,0,0,5"/>
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type GroupItem}">
                                            <Expander IsExpanded="True" Background="Pink" BorderBrush="Pink" BorderThickness="1,1,1,5">
                                                <Expander.Header>
                                                    <DockPanel>
                                                        <TextBlock FontWeight="Bold" Text="{Binding Path=Name}" Margin="5,0,0,0" Width="100"/>
                                                        <TextBlock FontWeight="Bold" Text="{Binding Path=ItemCount}"/>
                                                    </DockPanel>
                                                </Expander.Header>
                                                <Expander.Content>
                                                    <ItemsPresenter />
                                                </Expander.Content>
                                            </Expander>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </GroupStyle.ContainerStyle>
                    </GroupStyle>
                    -->
                <!-- Style for groups under the top level. -->
                <!--
                    <GroupStyle>
                        <GroupStyle.HeaderTemplate>
                            <DataTemplate>
                                <DockPanel Background="LightBlue">
                                    <TextBlock Text="{Binding Path=Name}" Foreground="Blue" Margin="30,0,0,0" Width="100"/>
                                    <TextBlock Text="{Binding Path=ItemCount}" Foreground="Blue"/>
                                </DockPanel>
                            </DataTemplate>
                        </GroupStyle.HeaderTemplate>
                    </GroupStyle>
                </DataGrid.GroupStyle>--><!--
 
                <DataGrid.Columns>
                    <DataGridTemplateColumn Header="#" x:Name="numCol" CanUserResize="False">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Converter={StaticResource rowNumber},
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
 
                    <DataGridTextColumn Header="名称" x:Name="nameCol" Binding="{Binding Name}"></DataGridTextColumn>
                    <DataGridTextColumn Header="测试项" Binding="{Binding Item}"></DataGridTextColumn>
                    <DataGridTextColumn Header="上限" Binding="{Binding LimitUp}"></DataGridTextColumn>
                    <DataGridTextColumn Header="下限" Binding="{Binding LimitDown}"></DataGridTextColumn>
                    <DataGridTextColumn Header="单位" Binding="{Binding Unit}"></DataGridTextColumn>
                    <DataGridTextColumn Header="启用" Binding="{Binding IsEnable}"></DataGridTextColumn>
                    <DataGridTextColumn Header="MES上传" Binding="{Binding IsUploadMes}"></DataGridTextColumn>
                    <DataGridTextColumn Header="重测" Binding="{Binding IsRetest}"></DataGridTextColumn>
                    --><!--<DataGridTextColumn Header="下一步" Binding="{Binding NextSeq}"></DataGridTextColumn>--><!--
 
                    <DataGridTemplateColumn x:Name="opt" Width="*" Header="操作">
                        <DataGridTemplateColumn.CellTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <Button Style="{StaticResource EditLink}" Margin="0,0,20,0"/>
                                    <Button Style="{StaticResource DeleteLink}"/>
                                    <Button Style="{StaticResource DeleteLink}" Click="Button_Click"
                                            DataContext="{Binding RelativeSource={RelativeSource Mode=FindAncestor,
                                        AncestorType=DataGridRow,AncestorLevel=1}}"
                                            Tag="{Binding }"
                                            x:Name="sda"
                                            Content="展开"/>
                                </StackPanel>
                            </DataTemplate>
                        </DataGridTemplateColumn.CellTemplate>
                    </DataGridTemplateColumn>
                </DataGrid.Columns>
            </DataGrid>-->
        </Grid>
    </Border>
</hb:PluginControl>