From 0940f31b7eba1cf6b6a8c1fca72d97cf686e79f2 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期五, 04 七月 2025 10:43:00 +0800
Subject: [PATCH] 优化插件,完善TreeListView
---
Plugin.TestBuilder/TestBuilder.xaml | 226 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 217 insertions(+), 9 deletions(-)
diff --git a/Plugin.TestBuilder/TestBuilder.xaml b/Plugin.TestBuilder/TestBuilder.xaml
index 996c7c8..0f38613 100644
--- a/Plugin.TestBuilder/TestBuilder.xaml
+++ b/Plugin.TestBuilder/TestBuilder.xaml
@@ -7,24 +7,232 @@
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>
+
+ <!-- 鏍慓rid缁勪欢 -->
+ <hui:TreeItemDataConverter x:Key="TreeItemDataConverter"/>
+
+ <CollectionViewSource x:Key="TreeGridFilter" Filter="CollectionViewSource_Filter"
+ Source="{Binding Datasource,Converter={StaticResource TreeItemDataConverter},ConverterParameter=Children}">
+
+ </CollectionViewSource>
</ResourceDictionary>
</UserControl.Resources>
- <Grid>
- <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
- <Canvas x:Name="WorkArea" Background="{StaticResource CommonBoarder}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <!--<vt:ProgramList BorderThickness="1" BorderBrush="#000" Canvas.Left="335" Canvas.Top="121" utils:Resize.IsResizeable="True"></vt:ProgramList>
- <vt:ProgramList BorderThickness="1" BorderBrush="#000" Canvas.Left="600" Canvas.Top="121" FocusableChanged="ProgramList_FocusableChanged"></vt:ProgramList>-->
+ <Border Style="{StaticResource CardBoarder}">
+ <Grid dp:GridHelper.Space="10" Cursor="">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition/>
+ </Grid.RowDefinitions>
- <ui:BottomBar x:Name="BottomBar" Canvas.Bottom="0" Panel.ZIndex="9999999"/>
- </Canvas>
- </ScrollViewer>
- </Grid>
+
+ <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>
--
Gitblit v1.9.1