From a9b99add3e1baa7fc49049247b8bf071e70a6005 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 03 九月 2024 15:13:57 +0800
Subject: [PATCH] 1

---
 DataLoader/MainWindow.xaml |  211 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 188 insertions(+), 23 deletions(-)

diff --git a/DataLoader/MainWindow.xaml b/DataLoader/MainWindow.xaml
index 0896b2d..01bf2ba 100644
--- a/DataLoader/MainWindow.xaml
+++ b/DataLoader/MainWindow.xaml
@@ -1,9 +1,8 @@
 锘�<Window x:Class="DataLoader.MainWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-        Height="480" Width="600"
-        Loaded="Window_Loaded"
-        Title="鏁版嵁鍏ュ簱" WindowStartupLocation="CenterScreen">
+        Height="700" Width="900" Loaded="Window_Loaded" Closing="Window_Closing"
+        Title="鏁版嵁鍏ュ簱 v1.72" WindowStartupLocation="CenterScreen">
     <Window.Resources>
         <Style x:Key="btn" TargetType="Button">
             <Setter Property="Background" Value="#005699"/>
@@ -23,8 +22,119 @@
         <Style x:Key="tb" TargetType="TextBox">
             <Setter Property="VerticalAlignment" Value="Center"/>
             <Setter Property="HorizontalAlignment" Value="Stretch"/>
+            <Setter Property="VerticalContentAlignment" Value="Center"/>
             <Setter Property="Height" Value="30"/>
-            <Setter Property="FontSize" Value="20"/>
+            <Setter Property="FontSize" Value="16"/>
+        </Style>
+
+        <!--Combox-->
+        <Style TargetType="ToggleButton" x:Key="ComboxStyleBtn">
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate>
+                        <!--涓嬫媺鎸夐挳鍐呴儴鑳屾櫙鑹�-->
+                        <Border x:Name="Back" BorderThickness="1" BorderBrush="Transparent">
+                            <!--涓嬫媺鎸夐挳鍐呰竟妗�-->
+                            <Path Name="PathFill" Fill="#136BAF" Width="10" Height="6" StrokeThickness="0" Data="M5,0 L10,10 L0,10 z" RenderTransformOrigin="0.5,0.5" Stretch="Fill">
+                                <Path.RenderTransform>
+                                    <TransformGroup>
+                                        <ScaleTransform/>
+                                        <SkewTransform/>
+                                        <RotateTransform Angle="180"/>
+                                        <TranslateTransform/>
+                                    </TransformGroup>
+                                </Path.RenderTransform>
+                            </Path>
+                        </Border>
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsMouseOver" Value="True">
+                                <Setter TargetName="PathFill" Property="Fill" Value="White"></Setter>
+                                <Setter TargetName="Back" Property="Background" Value="#136BAF"></Setter>
+                                <Setter TargetName="Back" Property="BorderBrush" Value="#136BAF"></Setter>
+                            </Trigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style TargetType="ComboBox" x:Key="ComboBoxStyle">
+            <Setter Property="ItemContainerStyle">
+                <Setter.Value>
+                    <!--ComBoxItem-->
+                    <Style TargetType="ComboBoxItem">
+                        <Setter Property="MinHeight" Value="30"></Setter>
+                        <Setter Property="MinWidth" Value="60"></Setter>
+                        <Setter Property="Foreground" Value="White"></Setter>
+                        <Setter Property="FontWeight" Value="Bold"></Setter>
+                        <Setter Property="Template">
+                            <Setter.Value>
+                                <ControlTemplate TargetType="ComboBoxItem">
+                                    <Border Name="Back" Background="Transparent"  BorderThickness="0,0,0,0" BorderBrush="#136BAF" >
+                                        <ContentPresenter ContentSource="{Binding Source}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0 0 30 0"></ContentPresenter>
+                                    </Border>
+                                    <ControlTemplate.Triggers>
+                                        <Trigger Property="IsMouseOver" Value="True">
+                                            <Setter TargetName="Back" Property="Background" Value="LightGray"></Setter>
+                                        </Trigger>
+                                        <!--涓嬫媺妗嗚儗鏅壊-->
+                                        <Trigger Property="IsHighlighted" Value="True">
+                                            <Setter TargetName="Back" Property="Background" Value="Transparent"></Setter>
+                                        </Trigger>
+                                    </ControlTemplate.Triggers>
+                                </ControlTemplate>
+                            </Setter.Value>
+                        </Setter>
+                    </Style>
+                </Setter.Value>
+            </Setter>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="ComboBox">
+                        <Grid>
+                            <Grid.ColumnDefinitions>
+                                <ColumnDefinition Width="0.7*"/>
+                                <ColumnDefinition Width="0.3*" MaxWidth="30"/>
+                            </Grid.ColumnDefinitions>
+                            <!--鏂囧瓧鍖哄煙鑳屾櫙鍜岃竟绾挎牱寮�-->
+                            <TextBox Background="Transparent" HorizontalContentAlignment="Center" VerticalAlignment="Center"  Grid.Column="0" Foreground="White" BorderBrush="#136BAF" BorderThickness="0,0,0,0" IsReadOnly="{TemplateBinding IsReadOnly}" Text="{TemplateBinding Text}"></TextBox>
+                            <Border  Grid.Column="0" BorderThickness="1,1,0,1" BorderBrush="#136BAF" CornerRadius="0,0,0,0">
+                            </Border>
+                            <!--鍙充晶涓嬫媺button璁剧疆-->
+                            <Border Grid.Column="1" BorderThickness="0,1,1,1" BorderBrush="#136BAF" CornerRadius="0,0,0,0">
+                                <ToggleButton BorderThickness="3" BorderBrush="#136BAF" Style="{StaticResource ComboxStyleBtn}" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"></ToggleButton>
+                            </Border>
+                            <!--寮瑰嚭popup鏁翠綋璁剧疆-->
+                            <Popup IsOpen="{TemplateBinding IsDropDownOpen}" Placement="Bottom" x:Name="Popup" Focusable="False" AllowsTransparency="True" PopupAnimation="Slide" >
+                                <!--寮瑰嚭popup杈规-->
+                                <Border CornerRadius="1" BorderBrush="#136BAF" BorderThickness="1,0,1,1" MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{TemplateBinding ActualWidth}" x:Name="DropDown" SnapsToDevicePixels="True">
+                                    <Border.Effect>
+                                        <DropShadowEffect Color="Black" BlurRadius="2" ShadowDepth="0" Opacity="1"/>
+                                    </Border.Effect>
+                                    <!--涓嬫媺骞曞竷杈圭晫鑳屾櫙璁剧疆 MaxHeight="{TemplateBinding MaxDropDownHeight}"-->
+                                    <ScrollViewer Margin="0,0,0,0"   SnapsToDevicePixels="True" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" BorderBrush="#136BAF" BorderThickness="2" >
+                                        <!-- StackPanel 鐢ㄤ簬鏄剧ず瀛愮骇锛屾柟娉曟槸灏� IsItemsHost 璁剧疆涓� True -->
+                                        <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" Background="#001f55" />
+                                    </ScrollViewer>
+                                </Border>
+                            </Popup>
+                        </Grid>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+        <Style TargetType="ListBoxItem">
+            <Setter Property="Height" Value="35"/>
+            <Setter Property="BorderThickness" Value="0"/>
+        </Style>
+
+        <Style TargetType="DatePickerTextBox">
+            <Setter Property="ItemsControl.Template">
+                <Setter.Value>
+                    <ControlTemplate>
+                        <TextBox BorderThickness="0" Text="{Binding Path=SelectedDate, StringFormat='yyyy-MM-dd HH:mm:ss', RelativeSource={RelativeSource AncestorType=DatePicker}}" />
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
         </Style>
     </Window.Resources>
     <Grid x:Name="gMain">
@@ -34,44 +144,99 @@
             <RowDefinition Height="40"/>
             <RowDefinition Height="40"/>
             <RowDefinition Height="40"/>
+            <RowDefinition Height="40"/>
+            <RowDefinition Height="40"/>
+            <RowDefinition Height="40"/>
             <RowDefinition Height="*"/>
         </Grid.RowDefinitions>
 
         <Grid.ColumnDefinitions>
-            <ColumnDefinition Width="7*" />
-            <ColumnDefinition Width="18*" />
-            <ColumnDefinition Width="7*" />
-            <ColumnDefinition Width="18*" />
-            <ColumnDefinition Width="8*" />
+            <ColumnDefinition Width="5*" />
+            <ColumnDefinition Width="20*" />
+            <ColumnDefinition Width="5*" />
+            <ColumnDefinition Width="20*" />
+            <ColumnDefinition Width="5*" />
         </Grid.ColumnDefinitions>
 
         <Label Grid.Row="0" Grid.Column="0" Content="鐢ㄦ埛ID锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
-        <TextBox x:Name="tbUid" Grid.Row="0" Grid.Column="1" Style="{StaticResource tb}" IsReadOnly="True"/>
-        <Label Grid.Row="0" Grid.Column="2" Content="浠ょ墝锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
-        <TextBox x:Name="tbToken" Grid.Row="0" Grid.Column="3"  Style="{StaticResource tb}" IsReadOnly="True"/>
+        <TextBox Grid.Row="0" Grid.Column="1"  Style="{StaticResource tb}" IsReadOnly="True" x:Name="tbUid"/>
+        <Label Grid.Row="0" Grid.Column="2" Content="鐢ㄦ埛鍚嶏細" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <TextBox Grid.Row="0" Grid.Column="3" Style="{StaticResource tb}" IsReadOnly="True" x:Name="tbUname"/>
         <Button Grid.Row="0" Grid.Column="4" Content="鐧� 褰�" Style="{StaticResource btn}" Click="Login_MouseLeftButtonDown"/>
 
-        <Label Grid.Row="1" Grid.Column="0" Content="婧愮洰褰曪細" VerticalAlignment="Center" HorizontalAlignment="Right" />
-        <TextBox x:Name="tbSource" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Style="{StaticResource tb}" Text="{Binding Path=SourcePath, Mode=TwoWay}"/>
-        <Button x:Name="btnSource" Grid.Row="1" Grid.Column="4" Content="閫� 鎷�" Style="{StaticResource btn}" Click="Source_MouseLeftButtonDown"/>
+        <Label Grid.Row="1" Grid.Column="0" Content="浠ょ墝锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <TextBox Grid.Row="1" Grid.Column="1" Style="{StaticResource tb}" IsReadOnly="True" x:Name="tbToken"/>
+        <Label Grid.Row="1" Grid.Column="2" Content="閲囬泦鏃堕棿锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <DatePicker Grid.Row="1" Grid.Column="3" Height="35" Width="320" HorizontalAlignment="Center" VerticalContentAlignment="Center" x:Name="dpAcqTime" FontSize="13"/>
 
-        <Label Grid.Row="2" Grid.Column="0" Content="鍏ュ簱鐩綍锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
-        <TextBox x:Name="tbTarget" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="3" Style="{StaticResource tb}" Text="{Binding Path=TargetPath, Mode=TwoWay}"/>
-        <Button x:Name="btnTarget" Grid.Row="2" Grid.Column="4" Content="閫� 鎷�" Style="{StaticResource btn}" Click="Target_MouseLeftButtonDown"/>
+        <Label Grid.Row="2" Grid.Column="0" Content="浼犳劅鍣ㄧ被鍨嬶細" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <!--<TextBox Grid.Row="2" Grid.Column="1" Style="{StaticResource tb}" x:Name="tbSensorType"/>-->
+        <ComboBox Grid.Row="2" Grid.Column="1" HorizontalAlignment="Left" VerticalContentAlignment="Center" Cursor="Hand" Background="White" SelectedIndex="0" Width="322" Height="38" BorderThickness="0" x:Name="tbSensorType">
+            <ComboBoxItem Tag="0">璇烽�夋嫨</ComboBoxItem>
+            <ComboBoxItem Tag="1">瀚﹀ē涓�鍙�</ComboBoxItem>
+            <ComboBoxItem Tag="2">瀚﹀ē浜屽彿</ComboBoxItem>
+            <ComboBoxItem Tag="3">绉戞櫘鏁欒偛</ComboBoxItem>
+            <ComboBoxItem Tag="4">鍏嬭幈闂ㄦ眬</ComboBoxItem>
+            <ComboBoxItem Tag="5">鏈堢悆鎺㈠嫎鑰�</ComboBoxItem>
+            <ComboBoxItem Tag="6">鏈堜寒濂崇</ComboBoxItem>
+            <ComboBoxItem Tag="7">鏈堢悆鍕樻祴杞ㄩ亾鍣�</ComboBoxItem>
+            <ComboBoxItem Tag="8">鍦f澂鍙�</ComboBoxItem>
+        </ComboBox>
+        <Label Grid.Row="2" Grid.Column="2" Content="鍏冩暟鎹被鍨嬶細" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <!--<ComboBox Grid.Row="1" Grid.Column="3" IsReadOnly="True" DisplayMemberPath="Name" Style="{StaticResource ComboBoxStyle}" Width="320" Height="30" HorizontalAlignment="Left" x:Name="cbMetaType"></ComboBox>-->
+        <ComboBox Grid.Row="2" Grid.Column="3" HorizontalAlignment="Left" VerticalContentAlignment="Center" Cursor="Hand" Background="White" SelectedIndex="0" Width="322" Height="38" BorderThickness="0" x:Name="cbMetaType">
+            <ComboBoxItem Tag="0">璇烽�夋嫨</ComboBoxItem>
+            <ComboBoxItem Tag="1">鏁板瓧姝e皠褰卞儚鍥�</ComboBoxItem>
+            <ComboBoxItem Tag="2">鏁板瓧楂樼▼妯″瀷</ComboBoxItem>
+            <ComboBoxItem Tag="3">鍗曟尝娈垫爡鏍兼暟鎹�</ComboBoxItem>
+            <ComboBoxItem Tag="4">澶氬厜璋辨爡鏍兼暟鎹�</ComboBoxItem>
+            <ComboBoxItem Tag="5">楂樺厜璋辨爡鏍兼暟鎹�</ComboBoxItem>
+            <ComboBoxItem Tag="6">鐭㈤噺鏁版嵁</ComboBoxItem>
+            <ComboBoxItem Tag="7">涓夌淮妯″瀷</ComboBoxItem>
+        </ComboBox>
 
-        <ScrollViewer Grid.Row="3" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="4" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Margin="2">
+        <Label Grid.Row="3" Grid.Column="0" Content="璧勬簮鐩綍锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <TextBox Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="3" Style="{StaticResource tb}" IsReadOnly="True" x:Name="tbDir"/>
+        <Button Grid.Row="3" Grid.Column="4" Content="閫� 鎷�" Style="{StaticResource btn}" Click="Dir_MouseLeftButtonDown" x:Name="btnDir"/>
+
+        <Label Grid.Row="4" Grid.Column="0" Content="鏁版嵁鐩綍锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <TextBox Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="3" Style="{StaticResource tb}" x:Name="tbSource"/>
+        <Button Grid.Row="4" Grid.Column="4" Content="閫� 鎷�" Style="{StaticResource btn}" Click="Source_MouseLeftButtonDown" x:Name="btnSource"/>
+
+        <Label Grid.Row="5" Grid.Column="0" Content="鍏ュ簱鐩綍锛�" VerticalAlignment="Center" HorizontalAlignment="Right" />
+        <TextBox Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="3" Style="{StaticResource tb}" x:Name="tbTarget" IsReadOnly="False" />
+        <Button Grid.Row="5" Grid.Column="4" Content="閫� 鎷�" Style="{StaticResource btn}" Click="Target_MouseLeftButtonDown" x:Name="btnTarget" Visibility="Hidden" />
+
+        <ScrollViewer Grid.Row="6" Grid.RowSpan="3" Grid.Column="0" Grid.ColumnSpan="4" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Margin="5 5 0 5">
             <ListView x:Name="lvView">
                 <ListView.View>
                     <GridView>
                         <GridView.Columns>
-                            <GridViewColumn Header="搴忓彿" Width="50" DisplayMemberBinding="{Binding Path=ID, Mode=OneWay}"></GridViewColumn>
-                            <GridViewColumn Header="璺緞" Width="Auto" DisplayMemberBinding="{Binding Path=FilePath, Mode=OneWay}"></GridViewColumn>
-                            <GridViewColumn Header="鐘舵��" Width="80" DisplayMemberBinding="{Binding Path=Status, Mode=OneWay}"></GridViewColumn>
+                            <GridViewColumn Width="30">
+                                <GridViewColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <CheckBox IsChecked="{Binding Path=Checked, Mode=TwoWay}" Tag="{Binding Path=ID, Mode=OneWay}" />
+                                    </DataTemplate>
+                                </GridViewColumn.CellTemplate>
+                            </GridViewColumn>
+                            <GridViewColumn Header="搴忓彿" Width="Auto">
+                                <GridViewColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <TextBlock Text="{Binding Path=ID, Mode=OneWay}" TextAlignment="Center" MinWidth="{Binding Path=ActualWidth, ElementName=column}" HorizontalAlignment="Center"/>
+                                    </DataTemplate>
+                                </GridViewColumn.CellTemplate>
+                            </GridViewColumn>
+                            <GridViewColumn Header="璺緞" Width="Auto" DisplayMemberBinding="{Binding Path=FilePath, Mode=OneWay}"/>
+                            <GridViewColumn Header="鏂囦欢澶у皬" Width="Auto" DisplayMemberBinding="{Binding Path=Sizes, Mode=OneWay}"/>
+                            <GridViewColumn Header="杩愯鐘舵��" Width="120" DisplayMemberBinding="{Binding Path=Status, Mode=OneWay}"/>
                         </GridView.Columns>
                     </GridView>
                 </ListView.View>
             </ListView>
         </ScrollViewer>
-        <Button x:Name="btnImport" Grid.Row="3" Grid.Column="4" Content="瀵� 鍏�" Style="{StaticResource btn}" Click="Import_MouseLeftButtonDown"/>
+
+        <Button x:Name="btnLoad" Grid.Row="6" Grid.Column="4" Content="鍔� 杞�" Style="{StaticResource btn}" Click="Load_MouseLeftButtonDown"/>
+        <Button x:Name="btnDel" Grid.Row="7" Grid.Column="4" Content="鍒� 闄�" Style="{StaticResource btn}" Click="Del_MouseLeftButtonDown"/>
+        <Button x:Name="btnImport" Grid.Row="8" Grid.Column="4" Content="瀵� 鍏�" Style="{StaticResource btn}" VerticalAlignment="Top" Click="Import_MouseLeftButtonDown"/>
     </Grid>
 </Window>

--
Gitblit v1.9.3