SIC-12/Framework/MECF.Framework.UI.Client/CenterViews/DataLogs/Event/EventView.xaml

946 lines
54 KiB
Plaintext
Raw Permalink Normal View History

<UserControl
x:Class="MECF.Framework.UI.Client.CenterViews.DataLogs.Event.EventView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
2026-06-10 13:11:53 +08:00
xmlns:cv="clr-namespace:MECF.Framework.UI.Core.Converters;assembly=MECF.Framework.UI.Core"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:forms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
2026-06-10 13:11:53 +08:00
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:micro="clr-namespace:Caliburn.Micro"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:userControls1="clr-namespace:Sicentury.Core.UserControls;assembly=Sicentury.Core"
Name="uc"
d:DesignHeight="800"
d:DesignWidth="1400"
lex:LocalizeDictionary.DesignCulture="en"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
2026-06-10 13:11:53 +08:00
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
mc:Ignorable="d">
<UserControl.Resources>
<cv:BoolReverseConverter x:Key="boolReverseConverter" />
<cv:BoolVisibilityConverter x:Key="BoolVisibilityConverter" />
2026-06-10 13:11:53 +08:00
<Style x:Key="{x:Type userControls1:CirclePointRingLoading}" TargetType="{x:Type userControls1:CirclePointRingLoading}">
<Setter Property="Foreground" Value="#FFFFFFFF" />
<Setter Property="UIElement.IsHitTestVisible" Value="False" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="MinHeight" Value="20" />
<Setter Property="MinWidth" Value="20" />
<Setter Property="Height" Value="60" />
<Setter Property="Width" Value="60" />
<Setter Property="IsTabStop" Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type userControls1:CirclePointRingLoading}">
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<FrameworkElement.Resources>
<ResourceDictionary>
<Style x:Key="ProgressRingEllipseStyle" TargetType="{x:Type Ellipse}">
<Setter Property="UIElement.Opacity" Value="0" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
</ResourceDictionary>
</FrameworkElement.Resources>
<Grid
Name="Ring"
MaxWidth="{Binding MaxSideLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"
MaxHeight="{Binding MaxSideLength, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="{TemplateBinding Padding}"
FlowDirection="LeftToRight"
RenderTransformOrigin=".5,.5"
Visibility="Visible">
<Canvas RenderTransformOrigin=".5,.5">
<UIElement.RenderTransform>
<RotateTransform x:Name="E1R" />
</UIElement.RenderTransform>
<Ellipse
Name="E1"
Width="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Height="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="{Binding EllipseOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Fill="{TemplateBinding Foreground}"
Style="{StaticResource ProgressRingEllipseStyle}" />
</Canvas>
<Canvas RenderTransformOrigin=".5,.5">
<UIElement.RenderTransform>
<RotateTransform x:Name="E2R" />
</UIElement.RenderTransform>
<Ellipse
Name="E2"
Width="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Height="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="{Binding EllipseOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Fill="{TemplateBinding Foreground}"
Style="{StaticResource ProgressRingEllipseStyle}" />
</Canvas>
<Canvas RenderTransformOrigin=".5,.5">
<UIElement.RenderTransform>
<RotateTransform x:Name="E3R" />
</UIElement.RenderTransform>
<Ellipse
Name="E3"
Width="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Height="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="{Binding EllipseOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Fill="{TemplateBinding Foreground}"
Style="{StaticResource ProgressRingEllipseStyle}" />
</Canvas>
<Canvas RenderTransformOrigin=".5,.5">
<UIElement.RenderTransform>
<RotateTransform x:Name="E4R" />
</UIElement.RenderTransform>
<Ellipse
Name="E4"
Width="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Height="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="{Binding EllipseOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Fill="{TemplateBinding Foreground}"
Style="{StaticResource ProgressRingEllipseStyle}" />
</Canvas>
<Canvas RenderTransformOrigin=".5,.5">
<UIElement.RenderTransform>
<RotateTransform x:Name="E5R" />
</UIElement.RenderTransform>
<Ellipse
Name="E5"
Width="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Height="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="{Binding EllipseOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Fill="{TemplateBinding Foreground}"
Style="{StaticResource ProgressRingEllipseStyle}" />
</Canvas>
<Canvas
Name="SixthCircle"
RenderTransformOrigin=".5,.5"
Visibility="Collapsed">
<UIElement.RenderTransform>
<RotateTransform x:Name="E6R" />
</UIElement.RenderTransform>
<Ellipse
Name="E6"
Width="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Height="{Binding EllipseDiameter, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Margin="{Binding EllipseOffset, RelativeSource={RelativeSource Mode=TemplatedParent}}"
Fill="{TemplateBinding Foreground}"
Style="{StaticResource ProgressRingEllipseStyle}" />
</Canvas>
</Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SizeStates">
<VisualState x:Name="Large">
<Storyboard>
<ObjectAnimationUsingKeyFrames
Storyboard.TargetName="SixthCircle"
Storyboard.TargetProperty="Visibility"
Duration="0">
<DiscreteObjectKeyFrame KeyTime="0">
<ObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</ObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Small" />
</VisualStateGroup>
<VisualStateGroup x:Name="ActiveStates">
<VisualState x:Name="Inactive" />
<VisualState x:Name="Active">
<Storyboard RepeatBehavior="Forever">
<ObjectAnimationUsingKeyFrames
Storyboard.TargetName="Ring"
Storyboard.TargetProperty="Visibility"
Duration="0">
<DiscreteObjectKeyFrame KeyTime="0">
<ObjectKeyFrame.Value>
<Visibility>Visible</Visibility>
</ObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="0"
Storyboard.TargetName="E1"
Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.21" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.22" Value="0" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.47" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.167"
Storyboard.TargetName="E2"
Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.21" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.22" Value="0" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.47" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.334"
Storyboard.TargetName="E3"
Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.21" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.22" Value="0" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.47" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.501"
Storyboard.TargetName="E4"
Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.21" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.22" Value="0" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.47" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.668"
Storyboard.TargetName="E5"
Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.21" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.22" Value="0" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.47" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.835"
Storyboard.TargetName="E6"
Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame KeyTime="0" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.21" Value="1" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.22" Value="0" />
<DiscreteDoubleKeyFrame KeyTime="0:0:3.47" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="0"
Storyboard.TargetName="E1R"
Storyboard.TargetProperty="Angle">
<SplineDoubleKeyFrame
KeySpline="0.13,0.21,0.1,0.7"
KeyTime="0"
Value="-110" />
<SplineDoubleKeyFrame
KeySpline="0.02,0.33,0.38,0.77"
KeyTime="0:0:0.433"
Value="10" />
<SplineDoubleKeyFrame KeyTime="0:0:1.2" Value="93" />
<SplineDoubleKeyFrame
KeySpline="0.57,0.17,0.95,0.75"
KeyTime="0:0:1.617"
Value="205" />
<SplineDoubleKeyFrame
KeySpline="0,0.19,0.07,0.72"
KeyTime="0:0:2.017"
Value="357" />
<SplineDoubleKeyFrame KeyTime="0:0:2.783" Value="439" />
<SplineDoubleKeyFrame
KeySpline="0,0,0.95,0.37"
KeyTime="0:0:3.217"
Value="585" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.167"
Storyboard.TargetName="E2R"
Storyboard.TargetProperty="Angle">
<SplineDoubleKeyFrame
KeySpline="0.13,0.21,0.1,0.7"
KeyTime="0"
Value="-116" />
<SplineDoubleKeyFrame
KeySpline="0.02,0.33,0.38,0.77"
KeyTime="0:0:0.433"
Value="4" />
<SplineDoubleKeyFrame KeyTime="0:0:1.2" Value="87" />
<SplineDoubleKeyFrame
KeySpline="0.57,0.17,0.95,0.75"
KeyTime="0:0:1.617"
Value="199" />
<SplineDoubleKeyFrame
KeySpline="0,0.19,0.07,0.72"
KeyTime="0:0:2.017"
Value="351" />
<SplineDoubleKeyFrame KeyTime="0:0:2.783" Value="433" />
<SplineDoubleKeyFrame
KeySpline="0,0,0.95,0.37"
KeyTime="0:0:3.217"
Value="579" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.334"
Storyboard.TargetName="E3R"
Storyboard.TargetProperty="Angle">
<SplineDoubleKeyFrame
KeySpline="0.13,0.21,0.1,0.7"
KeyTime="0"
Value="-122" />
<SplineDoubleKeyFrame
KeySpline="0.02,0.33,0.38,0.77"
KeyTime="0:0:0.433"
Value="-2" />
<SplineDoubleKeyFrame KeyTime="0:0:1.2" Value="81" />
<SplineDoubleKeyFrame
KeySpline="0.57,0.17,0.95,0.75"
KeyTime="0:0:1.617"
Value="193" />
<SplineDoubleKeyFrame
KeySpline="0,0.19,0.07,0.72"
KeyTime="0:0:2.017"
Value="345" />
<SplineDoubleKeyFrame KeyTime="0:0:2.783" Value="427" />
<SplineDoubleKeyFrame
KeySpline="0,0,0.95,0.37"
KeyTime="0:0:3.217"
Value="573" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.501"
Storyboard.TargetName="E4R"
Storyboard.TargetProperty="Angle">
<SplineDoubleKeyFrame
KeySpline="0.13,0.21,0.1,0.7"
KeyTime="0"
Value="-128" />
<SplineDoubleKeyFrame
KeySpline="0.02,0.33,0.38,0.77"
KeyTime="0:0:0.433"
Value="-8" />
<SplineDoubleKeyFrame KeyTime="0:0:1.2" Value="75" />
<SplineDoubleKeyFrame
KeySpline="0.57,0.17,0.95,0.75"
KeyTime="0:0:1.617"
Value="187" />
<SplineDoubleKeyFrame
KeySpline="0,0.19,0.07,0.72"
KeyTime="0:0:2.017"
Value="339" />
<SplineDoubleKeyFrame KeyTime="0:0:2.783" Value="421" />
<SplineDoubleKeyFrame
KeySpline="0,0,0.95,0.37"
KeyTime="0:0:3.217"
Value="567" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.668"
Storyboard.TargetName="E5R"
Storyboard.TargetProperty="Angle">
<SplineDoubleKeyFrame
KeySpline="0.13,0.21,0.1,0.7"
KeyTime="0"
Value="-134" />
<SplineDoubleKeyFrame
KeySpline="0.02,0.33,0.38,0.77"
KeyTime="0:0:0.433"
Value="-14" />
<SplineDoubleKeyFrame KeyTime="0:0:1.2" Value="69" />
<SplineDoubleKeyFrame
KeySpline="0.57,0.17,0.95,0.75"
KeyTime="0:0:1.617"
Value="181" />
<SplineDoubleKeyFrame
KeySpline="0,0.19,0.07,0.72"
KeyTime="0:0:2.017"
Value="331" />
<SplineDoubleKeyFrame KeyTime="0:0:2.783" Value="415" />
<SplineDoubleKeyFrame
KeySpline="0,0,0.95,0.37"
KeyTime="0:0:3.217"
Value="561" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames
BeginTime="00:00:00.835"
Storyboard.TargetName="E6R"
Storyboard.TargetProperty="Angle">
<SplineDoubleKeyFrame
KeySpline="0.13,0.21,0.1,0.7"
KeyTime="0"
Value="-140" />
<SplineDoubleKeyFrame
KeySpline="0.02,0.33,0.38,0.77"
KeyTime="0:0:0.433"
Value="-20" />
<SplineDoubleKeyFrame KeyTime="0:0:1.2" Value="63" />
<SplineDoubleKeyFrame
KeySpline="0.57,0.17,0.95,0.75"
KeyTime="0:0:1.617"
Value="175" />
<SplineDoubleKeyFrame
KeySpline="0,0.19,0.07,0.72"
KeyTime="0:0:2.017"
Value="325" />
<SplineDoubleKeyFrame KeyTime="0:0:2.783" Value="409" />
<SplineDoubleKeyFrame
KeySpline="0,0,0.95,0.37"
KeyTime="0:0:3.217"
Value="555" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid IsEnabled="{Binding IsPermission}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="260" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<StackPanel.Resources>
<Style TargetType="GroupBox">
<Setter Property="Margin" Value="0,15,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border
Grid.Row="0"
Background="{StaticResource Table_BG_Title}"
BorderBrush="{x:Null}"
BorderThickness="1,1,1,0"
CornerRadius="2,2,0,0">
<ContentPresenter
Margin="4"
Content="{TemplateBinding Header}"
ContentSource="Header"
RecognizesAccessKey="True" />
</Border>
<Border
Grid.Row="1"
Background="{StaticResource Table_BG_Content}"
BorderThickness="1,0,1,1"
CornerRadius="0,0,2,2">
<ContentPresenter Margin="4" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</StackPanel.Resources>
<!-- Query Condition Card -->
<GroupBox BorderThickness="1">
<GroupBox.Header>
2026-06-10 13:11:53 +08:00
<TextBlock lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews" Text="{lex:Loc ID_TXT_QueryCondition}" />
</GroupBox.Header>
<StackPanel Margin="0,5">
<StackPanel.Resources>
<Style TargetType="toolkit:DateTimeUpDown">
<Setter Property="Width" Value="170" />
<Setter Property="Format" Value="Custom" />
<Setter Property="FormatString" Value="yyyy/MM/dd HH:mm:ss" />
</Style>
</StackPanel.Resources>
<StackPanel Orientation="Horizontal">
<TextBlock
Width="70"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
Foreground="{StaticResource FG_Black}"
Text="{lex:Loc ID_TXT_StartTime}" />
<WindowsFormsHost
Width="170"
Height="22"
Margin="5,0,0,0"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14">
<forms:DateTimePicker
x:Name="wfTimeFrom"
CustomFormat="yyyy/MM/dd HH:mm:ss"
Format="Custom"
Value="2011-8-1" />
</WindowsFormsHost>
</StackPanel>
<StackPanel Margin="0,5,0,0" Orientation="Horizontal">
<TextBlock
Width="70"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
Foreground="{StaticResource FG_Black}"
Text="{lex:Loc ID_TXT_EndTime}" />
<WindowsFormsHost
Width="170"
Height="22"
Margin="5,0,0,0"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14">
<forms:DateTimePicker
x:Name="wfTimeTo"
CustomFormat="yyyy/MM/dd HH:mm:ss"
Format="Custom"
Value="2011-8-1" />
</WindowsFormsHost>
</StackPanel>
</StackPanel>
</GroupBox>
<!-- Query Condition Card -->
<GroupBox>
<GroupBox.Header>
2026-06-10 13:11:53 +08:00
<TextBlock lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews" Text="{lex:Loc ID_TXT_QueryOption}" />
</GroupBox.Header>
<UniformGrid Margin="0,5" Columns="2">
<CheckBox
Content="{lex:Loc ID_TXT_Alarm}"
FontSize="14"
IsChecked="{Binding SearchAlarmEvent}" />
<CheckBox
Content="{lex:Loc ID_TXT_Warning}"
FontSize="14"
IsChecked="{Binding SearchWarningEvent}" />
<CheckBox
Content="{lex:Loc ID_TXT_Information}"
FontSize="14"
IsChecked="{Binding SearchInfoEvent}" />
<!--<CheckBox Content="Operation" Height="Auto" IsChecked="{Binding SearchOpeLog}" FontSize="14" />-->
</UniformGrid>
</GroupBox>
<!-- Extra Condition -->
<GroupBox>
<GroupBox.Header>
2026-06-10 13:11:53 +08:00
<TextBlock lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews" Text="{lex:Loc ID_TXT_ExtraCondition}" />
</GroupBox.Header>
<StackPanel Margin="0,5" Orientation="Horizontal">
<TextBlock
Name="checkBox3"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
Tag="ReactorC"
Text="{lex:Loc ID_TXT_KeyWords}" />
<TextBox
Width="170"
Margin="5,0,0,0"
FontSize="14"
Text="{Binding SearchKeyWords, UpdateSourceTrigger=PropertyChanged}" />
</StackPanel>
</GroupBox>
<!-- Query and Export Buttons Card -->
<Grid
Grid.Row="6"
Margin="84,18,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Button
Width="100"
Height="30"
Content="{lex:Loc ID_TXT_Query}"
FontFamily="Arial">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Query">
<micro:ActionMessage.Parameters>
<!-- 首次查询 -->
<micro:Parameter Value="-1" />
<!-- 不包含Filter条件 -->
<micro:Parameter Value="false" />
</micro:ActionMessage.Parameters>
</micro:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
<Grid
Grid.Row="0"
Grid.Column="1"
Margin="10,0,0,0">
<TextBlock
VerticalAlignment="Center"
2026-06-10 13:11:53 +08:00
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
FontSize="9"
Text="{lex:Loc ID_TXT_Loading}"
Visibility="{Binding IsLoading, Converter={StaticResource BoolVisibilityConverter}}" />
<userControls1:CirclePointRingLoading
Width="20"
Height="20"
Foreground="#3ca9fe"
IsActive="True"
IsLarge="True"
Visibility="{Binding IsLoading, Converter={StaticResource BoolVisibilityConverter}}" />
</Grid>
<Button
Grid.Row="1"
Grid.Column="0"
Width="100"
Height="30"
Margin="0,10,0,0"
2026-06-10 13:11:53 +08:00
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Content="{lex:Loc ID_BTN_Export_Content}"
FontFamily="Arial">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Export" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</Grid>
<!-- Exporting Progress State Info. Card -->
<StackPanel
Grid.Row="7"
Height="30"
Margin="60,5,0,0"
Orientation="Horizontal"
Visibility="{Binding IsExporting, Converter={StaticResource BoolVisibilityConverter}}">
<userControls1:CirclePointRingLoading
Width="16"
Height="16"
Foreground="#3ca9fe"
IsActive="True"
IsLarge="True" />
<TextBlock
Margin="10,0,0,0"
VerticalAlignment="Center"
FontSize="9"
Text="{Binding ExportingMessage}" />
</StackPanel>
<!-- Filter Condition Card -->
<GroupBox>
<GroupBox.Header>
2026-06-10 13:11:53 +08:00
<TextBlock lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews" Text="{lex:Loc ID_TXT_FilterCondition}" />
</GroupBox.Header>
<StackPanel Margin="0,5">
<StackPanel Orientation="Horizontal">
<TextBlock
Name="checkBox"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
Tag="ReactorC"
Text="{lex:Loc ID_TXT_System}" />
<toolkit:CheckComboBox
x:Name="ccbxFilterEventSource"
Width="170"
Height="25"
Margin="26,0,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
ItemSelectionChanged="ccbxFilterEventSource_ItemSelectionChanged"
ItemsSource="{Binding FilterEventSources}"
SelectedItemsOverride="{Binding SelectedFilterEventSource, Delay=10}"
SelectedValue="{Binding SelectedValueLP, Delay=10}"
ToolTip="{Binding ElementName=tbLoadPort1, Path=SelectedValue}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="ItemSelectionChanged">
2026-06-10 13:11:53 +08:00
<i:InvokeCommandAction Command="{Binding tbLoadPort1SelectionChangedCommand}" CommandParameter="{Binding ElementName=uc, Path=tbLoadPort1ToolTipValueData}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</toolkit:CheckComboBox>
</StackPanel>
<StackPanel Margin="0,5,0,0" Orientation="Horizontal">
<TextBlock
Name="checkBox9"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
Tag="ReactorC"
Text="{lex:Loc ID_TXT_KeyWords}" />
<TextBox
Width="170"
Margin="5,0,0,0"
FontSize="14"
Text="{Binding FilterKeyWords}" />
</StackPanel>
<!--<CheckBox IsThreeState="True" Width="100" Height="30" Margin="0,10,0,0" FontFamily="Arial" Content="ALL"/>-->
<Button
Width="100"
Height="30"
Margin="0,10,0,0"
Content="{lex:Loc ID_TXT_Filter}"
FontFamily="Arial">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Query">
<micro:ActionMessage.Parameters>
<!-- 首次查询 -->
<micro:Parameter Value="-1" />
<!-- 包含Filter条件 -->
<micro:Parameter Value="true" />
</micro:ActionMessage.Parameters>
</micro:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</StackPanel>
</GroupBox>
</StackPanel>
2026-06-10 13:11:53 +08:00
<Grid Grid.Column="1" Margin="10,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal">
<TextBlock
2026-06-10 13:11:53 +08:00
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
FontSize="16"
Text="{lex:Loc ID_TXT_Show}" />
<ComboBox
2026-06-10 13:11:53 +08:00
Width="100"
Height="23"
Margin="5,0,0,0"
FontSize="13"
IsEnabled="{Binding IsLoading, Converter={StaticResource boolReverseConverter}}"
ItemsSource="{Binding PaginationCapacity}"
SelectedItem="{Binding SelectedPaginationCapacity}" />
<TextBlock
2026-06-10 13:11:53 +08:00
Margin="5,0,0,0"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
FontSize="16"
Text="{lex:Loc ID_TXT_ItemsPerPage}" />
<Button
2026-06-10 13:11:53 +08:00
Height="29"
Margin="10,0,0,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Command="{Binding NavigateCommand}"
CommandParameter="first"
Content="{lex:Loc ID_BTN_First_Content}"
FontFamily="Arial,SimSun"
FontSize="15"
IsEnabled="{Binding IsLoading, Converter={StaticResource boolReverseConverter}}" />
<Button
2026-06-10 13:11:53 +08:00
Height="29"
Margin="10,0,0,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Command="{Binding NavigateCommand}"
CommandParameter="previous"
Content="{lex:Loc ID_BTN_Previous_Content}"
FontFamily="Arial,SimSun"
FontSize="15"
IsEnabled="{Binding IsLoading, Converter={StaticResource boolReverseConverter}}" />
<TextBlock
2026-06-10 13:11:53 +08:00
Width="100"
Margin="10,0,0,0"
VerticalAlignment="Center"
FontSize="16"
Text="{Binding PageInfo}"
TextAlignment="Center" />
<Button
2026-06-10 13:11:53 +08:00
Height="29"
Margin="10,0,0,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Command="{Binding NavigateCommand}"
CommandParameter="next"
Content="{lex:Loc ID_BTN_Next_Content}"
FontFamily="Arial,SimSun"
FontSize="15"
IsEnabled="{Binding IsLoading, Converter={StaticResource boolReverseConverter}}" />
<Button
2026-06-10 13:11:53 +08:00
Height="29"
Margin="10,0,0,0"
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Command="{Binding NavigateCommand}"
CommandParameter="last"
Content="{lex:Loc ID_BTN_Last_Content}"
FontFamily="Arial,SimSun"
FontSize="15"
IsEnabled="{Binding IsLoading, Converter={StaticResource boolReverseConverter}}" />
<TextBlock
2026-06-10 13:11:53 +08:00
Margin="20,0,0,0"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
FontSize="16"
Text="{lex:Loc ID_TXT_QuickGoTo}" />
<ComboBox
2026-06-10 13:11:53 +08:00
Width="100"
Height="25"
Margin="5,0,0,0"
FontSize="13"
IsEnabled="{Binding IsLoading, Converter={StaticResource boolReverseConverter}}"
ItemsSource="{Binding Path=PaginationSource, Mode=OneWay}"
SelectedValue="{Binding Path=SelectedPage, Mode=TwoWay, Delay=10}" />
</StackPanel>
2026-06-10 13:11:53 +08:00
<DataGrid
Grid.Row="1"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserReorderColumns="False"
CanUserSortColumns="False"
FontSize="13"
IsReadOnly="True"
ItemsSource="{Binding SearchedResult, Mode=OneWay}"
ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
SelectionMode="Single"
SelectionUnit="FullRow"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.VirtualizationMode="Recycling">
<DataGrid.Columns>
<DataGridTemplateColumn
2026-06-10 13:11:53 +08:00
Width="40"
CanUserSort="True"
SortMemberPath="Icon">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image
2026-06-10 13:11:53 +08:00
Width="20"
Height="20"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Source="{Binding Icon}"
Stretch="Fill" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn
2026-06-10 13:11:53 +08:00
Width="70"
Binding="{Binding LogType, Mode=OneWay}"
CanUserReorder="False"
CanUserResize="False"
CanUserSort="True"
IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
2026-06-10 13:11:53 +08:00
VerticalAlignment="Center"
Text="{lex:Loc ID_TXT_Type}"
TextAlignment="Center" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
2026-06-10 13:11:53 +08:00
Width="200"
Binding="{Binding Time, Mode=OneWay}"
CanUserReorder="True"
CanUserResize="False"
CanUserSort="True"
IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
2026-06-10 13:11:53 +08:00
VerticalAlignment="Center"
Text="{lex:Loc ID_TXT_Date}"
TextAlignment="Left" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn
2026-06-10 13:11:53 +08:00
Width="100"
Binding="{Binding TargetChamber, Mode=OneWay}"
CanUserReorder="False"
CanUserResize="False"
CanUserSort="True"
IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock
2026-06-10 13:11:53 +08:00
VerticalAlignment="Center"
Text="{lex:Loc ID_TXT_System}"
TextAlignment="Center" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTemplateColumn
2026-06-10 13:11:53 +08:00
Width="*"
CanUserReorder="False"
CanUserResize="False"
CanUserSort="True"
Header="Description"
IsReadOnly="True">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{lex:Loc ID_TXT_Description}" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
2026-06-10 13:11:53 +08:00
VerticalAlignment="Center"
Text="{Binding Detail}"
TextWrapping="Wrap" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</UserControl>