From 1fca2167068e9ef2c079ec742f20313fc6697ab1 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 03 三月 2025 09:18:33 +0800
Subject: [PATCH] 完善代码;
---
HMI.DataViewer/DataViewer.xaml | 287 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 197 insertions(+), 90 deletions(-)
diff --git a/HMI.DataViewer/DataViewer.xaml b/HMI.DataViewer/DataViewer.xaml
index ebd4758..6e97d35 100644
--- a/HMI.DataViewer/DataViewer.xaml
+++ b/HMI.DataViewer/DataViewer.xaml
@@ -9,7 +9,9 @@
xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
xmlns:pw="https://opensource.panuon.com/wpf"
xmlns:pu="https://opensource.panuon.com/wpf-ui"
- xmlns:dp="clr-namespace:HMI.UI;assembly=HMI.UI"
+ xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
+ Background="{StaticResource WorkspaceBackground}"
+ Loaded="PluginControl_Loaded"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<ResourceDictionary>
@@ -23,105 +25,210 @@
<uic:DataGridRowNumberConverter x:Key="rowNumber"/>
</ResourceDictionary>
</UserControl.Resources>
+ <Border Style="{StaticResource CardBoarder}">
+ <Grid dp:GridHelper.Space="10">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition/>
+ </Grid.RowDefinitions>
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="7*"/>
- <ColumnDefinition Width="3*"/>
- </Grid.ColumnDefinitions>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="7*"/>
+ <ColumnDefinition Width="3*"/>
+ </Grid.ColumnDefinitions>
- <Border Style="{StaticResource CardBoarder}" Margin="0,0,2,0">
- <StackPanel>
- <DockPanel Margin="0,0,0,10">
- <Button DockPanel.Dock="Right" pu:ButtonHelper.Icon="" Style="{StaticResource DangerButton}">鍒犻櫎</Button>
- <Button DockPanel.Dock="Right" Style="{StaticResource PrimaryButton}"
-pu:IconHelper.FontFamily="{StaticResource iconfont}"
-pu:ButtonHelper.Icon="" Margin="0,0,10,0" x:Name="refreshBtn" Click="Button_Click">鍒锋柊</Button>
- <Button DockPanel.Dock="Right" Style="{StaticResource PrimaryButton}"
- pu:IconHelper.FontFamily="{StaticResource iconfont}"
- pu:ButtonHelper.Icon="" Margin="0,0,10,0" x:Name="addBtn" Click="Button_Click">鏂板</Button>
- <TextBlock DockPanel.Dock="Left" FontSize="{StaticResource TitleFontSize}"
- VerticalAlignment="Center" HorizontalAlignment="Left" Text="鑿滃崟鍒楄〃"/>
- </DockPanel>
+ <DockPanel Grid.ColumnSpan="2">
+ <StackPanel DockPanel.Dock="Right" Style="{StaticResource ButtonGroup}">
+ <Button Style="{StaticResource AddBtn}" x:Name="addBtn" Click="Button_Click"/>
+ <Button Style="{StaticResource RfhBtn}" x:Name="rfhBtn" Click="Button_Click"/>
+ <Button Style="{StaticResource DelBtn}" x:Name="delBtn" Click="Button_Click"/>
+ </StackPanel>
+ <TextBlock Style="{StaticResource TitleBox}" Text="鏁版嵁鏌ヨ"/>
+ </DockPanel>
- <DataGrid Grid.Column="1" x:Name="table" Style="{StaticResource DefaultDataGrid}" ItemsSource="{Binding DataSource}">
+ <!--<Grid>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition/>
+ <ColumnDefinition/>
+ </Grid.ColumnDefinitions>
+ </Grid>-->
+ <StackPanel Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Left" Style="{StaticResource ButtonGroup}">
+
+ <TextBlock Style="{StaticResource TitleBox}" Text="寮�濮嬫椂闂�"/>
+ <pu:DateTimePicker Width="190" Style="{StaticResource TimePicker}" SelectedDateTime="{x:Null}" x:Name="startTimeInput"/>
+ <TextBlock Style="{StaticResource TitleBox}" Text="缁撴潫鏃堕棿"/>
+ <pu:DateTimePicker Width="190" Style="{StaticResource TimePicker}" SelectedDateTime="{x:Null}" x:Name="endTimeInput"/>
+
+ <Button Style="{StaticResource PrimaryButton}" pu:ButtonHelper.Icon=""
+ x:Name="srhBtn" Click="Button_Click">鏌ヨ</Button>
+
+ <Button Style="{StaticResource PrimaryButton}" pu:ButtonHelper.Icon=""
+ x:Name="resetBtn" Click="Button_Click">閲嶇疆</Button>
+
+ <Menu x:Name="anyBtn" >
+ <MenuItem Header="鍒嗘瀽">
+ <MenuItem Header="CPK" />
+ <MenuItem Header="RandR" />
+ </MenuItem>
+ </Menu>
+
+ </StackPanel>
+
+ <DockPanel Grid.Row="2" Grid.ColumnSpan="2" Margin="0,10,0,0">
+ <pu:Drawer DockPanel.Dock="Left" x:Name="DrwMenu" MinWidth="34" MaxWidth="400"
+ ShadowColor="{x:Null}"
+ AnimationDuration="0" BorderThickness="2,2,0,2" BorderBrush="{StaticResource CommonBoarder}">
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition/>
+ </Grid.RowDefinitions>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition/>
+ <ColumnDefinition Width="Auto"/>
+ </Grid.ColumnDefinitions>
+
+ <DockPanel Grid.ColumnSpan="2" Background="{StaticResource CommonBoarder}">
+ <ToggleButton Grid.Column="1" x:Name="drawerBtn" BorderThickness="0"
+ DockPanel.Dock="Right"
+ Background="Transparent"
+ Width="34" Height="34" HorizontalAlignment="Right"
+ RenderTransformOrigin="0.5,0.5"
+ FontFamily="{StaticResource iconfont}"
+ Content="" IsChecked="{Binding IsOpen, ElementName=DrwMenu, Mode=TwoWay}">
+ <ToggleButton.Style>
+ <Style TargetType="ToggleButton">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu}" Value="False">
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <RotateTransform Angle="-90"/>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu}" Value="True">
+ <Setter Property="Background" Value="Red"/>
+ <Setter Property="RenderTransform">
+ <Setter.Value>
+ <RotateTransform Angle="90"/>
+ </Setter.Value>
+ </Setter>
+ </DataTrigger>
+ <Trigger Property="IsChecked" Value="True">
+ <Setter Property="Background" Value="Red"/>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </ToggleButton.Style>
+ </ToggleButton>
+
+ <TextBlock Text="楂樼骇鏌ヨ" FontSize="16" VerticalAlignment="Center" HorizontalAlignment="Center"/>
+ </DockPanel>
+
+ <Grid Grid.Row="1">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition/>
+ </Grid.RowDefinitions>
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto"/>
+ <ColumnDefinition/>
+ </Grid.ColumnDefinitions>
+
+ <DockPanel Margin="10,10,10,0" Grid.ColumnSpan="2">
+ <Label Content="閫夋嫨鏌ヨ椤圭洰"/>
+ <ComboBox Grid.Column="1" x:Name="programInput" SelectionChanged="programInput_SelectionChanged"/>
+ </DockPanel>
+
+ <DataGrid Margin="10" Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource DefaultDataGrid}"
+ IsReadOnly="False"
+ BorderThickness="0"
+ ItemsSource="{Binding Datas}">
+ <DataGrid.Columns>
+ <DataGridTemplateColumn Header="#" IsReadOnly="True" 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 IsReadOnly="True" Width="*" Binding="{Binding Key}" Header="绛涢�夋潯浠�" />
+
+ <DataGridTemplateColumn Width="*" Header="瀵规瘮鏂瑰紡">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding Condition}"/>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ <DataGridTemplateColumn.CellEditingTemplate>
+ <DataTemplate>
+ <ComboBox SelectedValue="{Binding Condition}"
+ SelectedValuePath="Content" >
+ <ComboBoxItem Content="="/>
+ <ComboBoxItem Content="<"/>
+ <ComboBoxItem Content=">"/>
+ <ComboBoxItem Content="<="/>
+ <ComboBoxItem Content=">="/>
+ </ComboBox>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellEditingTemplate>
+ </DataGridTemplateColumn>
+
+ <DataGridTextColumn Width="*" Binding="{Binding Value}" Header="绛涢�夊��" >
+ <DataGridTextColumn.HeaderTemplate>
+ <DataTemplate>
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Text="*" Foreground="Red" />
+ <ContentControl Content="{Binding }"/>
+ </StackPanel>
+ </DataTemplate>
+ </DataGridTextColumn.HeaderTemplate>
+ </DataGridTextColumn>
+ </DataGrid.Columns>
+
+ </DataGrid>
+ </Grid>
+
+ <Label Grid.Row="1" Grid.Column="1" Width="100" Height="34"
+ VerticalContentAlignment="Center"
+ HorizontalContentAlignment="Center"
+ Content="楂樼骇鏌ヨ"
+ FontSize="16">
+ <Label.LayoutTransform>
+ <RotateTransform CenterX="25" CenterY="25" Angle="270"/>
+ </Label.LayoutTransform>
+
+ <Label.Style>
+ <Style TargetType="Label">
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu,Mode=OneWay}" Value="True">
+ <Setter Property="Visibility" Value="Collapsed"/>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding IsOpen, ElementName=DrwMenu}" Value="False">
+ <Setter Property="Visibility" Value="Visible"/>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Label.Style>
+ </Label>
+ </Grid>
+ </pu:Drawer>
+
+ <DataGrid BorderThickness="2" BorderBrush="{StaticResource CommonBoarder}" x:Name="dataTable" Style="{StaticResource DefaultDataGrid}">
<DataGrid.Columns>
- <DataGridTemplateColumn Header="" Width="Auto" CanUserResize="False">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding Selected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="#" CanUserResize="False">
+ <DataGridTemplateColumn Header="#" IsReadOnly="True" 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 Binding="{Binding Code}" Header="鑿滃崟缂栧彿" />
- <DataGridTextColumn Binding="{Binding Name}" Header="鑿滃崟鍚嶇О" />
- <DataGridTextColumn Binding="{Binding Level}" Header="绛夌骇" />
- <DataGridTextColumn Binding="{Binding Type}" Header="绫诲瀷" />
- <DataGridTextColumn Binding="{Binding Name}" Header="鑿滃崟鍚嶇О" />
- <DataGridTextColumn Binding="{Binding ParentCode}" Header="鐖惰彍鍗曠紪鍙�" />
- <DataGridTextColumn Binding="{Binding ParentName}" Header="鐖惰彍鍗曞悕绉�" />
- <DataGridTextColumn Width="*" Binding="{Binding DllPath}" Header="Dll璺緞" />
- <DataGridTextColumn Width="*" Binding="{Binding ClassName}" Header="绫诲悕" />
- <DataGridTemplateColumn Header="鎿嶄綔" Width="100" IsReadOnly="True" CanUserResize="False">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <Button x:Name="editBtn" Style="{StaticResource LinkButton}"
- Margin="0,0,10,0"
- Click="Button_Click"
- DataContext="{Binding }">缂栬緫</Button>
- <Button x:Name="delBtn" Style="{StaticResource DangerLinkButton}"
- DataContext="{Binding }"
- Click="Button_Click">鍒犻櫎</Button>
- </StackPanel>
-
- <DataTemplate.Triggers>
- <DataTrigger Binding="{Binding Path=IsMouseOver,
- RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"
- Value="True">
- <Setter TargetName="editBtn" Property="Foreground" Value="#FFF"/>
- </DataTrigger>
- <DataTrigger Binding="{Binding Path=IsSelected,
- RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"
- Value="True">
- <Setter TargetName="editBtn" Property="Foreground" Value="#FFF"/>
- </DataTrigger>
- </DataTemplate.Triggers>
+RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow},AncestorLevel=1}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
- </StackPanel>
- </Border>
-
- <Border Grid.Column="1" Style="{StaticResource CardBoarder}" Margin="2,0,0,0">
- <StackPanel>
- <DockPanel Margin="0,0,0,10" >
- <TextBlock DockPanel.Dock="Left" FontSize="{StaticResource TitleFontSize}"
- VerticalAlignment="Center" HorizontalAlignment="Left" Text="鑿滃崟缁撴瀯"/>
- </DockPanel>
-
- <TreeView x:Name="treeViewer" Style="{StaticResource DefaultTreeView}" ItemsSource="{Binding TreeDataSource}">
- <TreeView.ItemTemplate>
- <HierarchicalDataTemplate ItemsSource="{Binding Children}">
- <StackPanel Orientation="Horizontal" VerticalAlignment="Center">
- <Image Width="{StaticResource ContentFontSize}" Height="{StaticResource ContentFontSize}" Margin="5"
- Source="{Binding IconPath,Converter={StaticResource path2Image},Mode=OneWay}"/>
- <TextBlock VerticalAlignment="Center" FontSize="{StaticResource ContentFontSize}" Text="{Binding Name}"/>
- </StackPanel>
- </HierarchicalDataTemplate>
- </TreeView.ItemTemplate>
- </TreeView>
- </StackPanel>
- </Border>
- </Grid>
+ </DockPanel>
+ </Grid>
+ </Border>
</hb:PluginControl>
--
Gitblit v1.9.1