From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点
---
Plugin.DeviceDebug/DeviceDebug.xaml | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 177 insertions(+), 0 deletions(-)
diff --git a/Plugin.DeviceDebug/DeviceDebug.xaml b/Plugin.DeviceDebug/DeviceDebug.xaml
new file mode 100644
index 0000000..6de3a4b
--- /dev/null
+++ b/Plugin.DeviceDebug/DeviceDebug.xaml
@@ -0,0 +1,177 @@
+<hb:SimpleMaskControl x:Class="Plugin.DeviceDebug.DeviceDebug"
+ 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:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
+ 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.DpUtil;assembly=HMI.UI"
+ xmlns:local="clr-namespace:Plugin.DeviceDebug"
+ xmlns:panels="clr-namespace:Plugin.DeviceDebug.Panels"
+ mc:Ignorable="d"
+ Loaded="SimpleMaskControl_Loaded"
+ d:DesignHeight="600" d:DesignWidth="1000">
+ <hb:SimpleMaskControl.Resources>
+ <ResourceDictionary>
+ <ResourceDictionary.MergedDictionaries>
+ <ResourceDictionary Source="/HMI.UI;component/Style/PanuonListView.xaml"/>
+ </ResourceDictionary.MergedDictionaries>
+ <Style x:Key="TitleBox" TargetType="TextBlock">
+ <Setter Property="FontSize" Value="14"/>
+ <Setter Property="FontWeight" Value="SemiBold"/>
+ <Setter Property="Padding" Value="8,4"/>
+ <Setter Property="VerticalAlignment" Value="Center"/>
+ </Style>
+ <BooleanToVisibilityConverter x:Key="BoolToVis"/>
+ </ResourceDictionary>
+ </hb:SimpleMaskControl.Resources>
+
+ <Grid dp:GridHelper.Space="8">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+
+ <!-- 椤堕儴鏍囬鏍� -->
+ <DockPanel Grid.Row="0">
+ <StackPanel dp:StackPanelHelper.ChildSpace="10" DockPanel.Dock="Right" Orientation="Horizontal">
+ <ComboBox x:Name="deviceSelector" Width="240"
+ ItemsSource="{Binding DeviceList}"
+ SelectedItem="{Binding SelectedDevice}"
+ SelectionChanged="DeviceSelector_SelectionChanged"
+ VerticalContentAlignment="Center" Padding="6,4"/>
+ <Button Style="{StaticResource RfhBtn}" x:Name="rfhBtn" Click="RfhBtn_Click"/>
+ </StackPanel>
+ <TextBlock Style="{StaticResource TitleBox}" Text="纭欢璋冭瘯"/>
+ </DockPanel>
+
+ <!-- 璁惧淇℃伅鏍� -->
+ <Border Grid.Row="1" BorderBrush="#CCCCCC" BorderThickness="1" Padding="10,6" Background="#F9F9F9"
+ Visibility="{Binding HasDevice, Converter={StaticResource BoolToVis}}">
+ <WrapPanel dp:StackPanelHelper.ChildSpace="20">
+ <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="4">
+ <TextBlock Text="璁惧ID:" FontWeight="Bold" Foreground="#555"/>
+ <TextBlock Text="{Binding CurrentDeviceId}" Style="{StaticResource ListTableTextBlock}"/>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="4">
+ <TextBlock Text="鍨嬪彿:" FontWeight="Bold" Foreground="#555"/>
+ <TextBlock Text="{Binding CurrentDeviceKind}" Style="{StaticResource ListTableTextBlock}"/>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="4">
+ <TextBlock Text="杩炴帴鐘舵��:" FontWeight="Bold" Foreground="#555"/>
+ <TextBlock Text="{Binding ConnectionStateText}" Foreground="{Binding ConnectionBrush}"/>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="4">
+ <TextBlock Text="鐗堟湰:" FontWeight="Bold" Foreground="#555"/>
+ <TextBlock Text="{Binding CurrentEffectiveVersion}" Style="{StaticResource ListTableTextBlock}"/>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="4">
+ <TextBlock Text="棰勭害鐘舵��:" FontWeight="Bold" Foreground="#555"/>
+ <TextBlock Text="{Binding ReservationStatusText}" Style="{StaticResource ListTableTextBlock}"/>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="4">
+ <TextBlock Text="浼氳瘽鐘舵��:" FontWeight="Bold" Foreground="#555"/>
+ <TextBlock Text="{Binding SessionStateText}" Foreground="{Binding SessionStateBrush}" FontWeight="Bold"/>
+ </StackPanel>
+ </WrapPanel>
+ </Border>
+
+ <!-- 鎿嶄綔鎸夐挳鏍� -->
+ <StackPanel Grid.Row="2" Orientation="Horizontal" dp:StackPanelHelper.ChildSpace="10"
+ Visibility="{Binding HasDevice, Converter={StaticResource BoolToVis}}">
+ <Button x:Name="enterMaintenanceBtn" Content="杩涘叆缁存姢鎺у埗" Padding="14,6"
+ IsEnabled="{Binding CanEnterMaintenance}"
+ Click="EnterMaintenanceBtn_Click"
+ Background="#2196F3" Foreground="White" BorderThickness="0" Cursor="Hand"/>
+ <Button x:Name="exitMaintenanceBtn" Content="閫�鍑虹淮鎶�" Padding="14,6"
+ IsEnabled="{Binding CanExitMaintenance}"
+ Click="ExitMaintenanceBtn_Click"
+ Background="#FF5722" Foreground="White" BorderThickness="0" Cursor="Hand"/>
+ </StackPanel>
+
+ <!-- 涓讳綋鍖哄煙 -->
+ <Grid Grid.Row="3">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="*"/>
+ <ColumnDefinition Width="350"/>
+ </Grid.ColumnDefinitions>
+
+ <!-- 宸︿晶闈㈡澘瀹瑰櫒 -->
+ <Border Grid.Column="0" BorderBrush="#DDDDDD" BorderThickness="1" Margin="0,0,8,0">
+ <ContentControl x:Name="panelContainer">
+ <TextBlock Text="璇烽�夋嫨璁惧" HorizontalAlignment="Center" VerticalAlignment="Center"
+ FontSize="16" Foreground="#999"/>
+ </ContentControl>
+ </Border>
+
+ <!-- 鍙充晶鎿嶄綔鏃ュ織 -->
+ <Border Grid.Column="1" BorderBrush="#DDDDDD" BorderThickness="1">
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto"/>
+ <RowDefinition Height="*"/>
+ </Grid.RowDefinitions>
+ <Border Grid.Row="0" Background="#F0F0F0" Padding="8,6">
+ <TextBlock Text="鎿嶄綔鏃ュ織" FontWeight="Bold" FontSize="14"/>
+ </Border>
+ <ListView Grid.Row="1" x:Name="operationLogList"
+ ItemsSource="{Binding OperationLogs}"
+ Style="{StaticResource DefaultListTable}"
+ VirtualizingPanel.IsVirtualizing="True"
+ VirtualizingPanel.VirtualizationMode="Standard">
+ <ListView.View>
+ <GridView AllowsColumnReorder="False">
+ <GridViewColumn Width="60" Header="绫诲瀷">
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding CommandType}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="120" Header="鍙傛暟">
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding Parameters}" TextTrimming="CharacterEllipsis"
+ ToolTip="{Binding Parameters}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="60" Header="缁撴灉">
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding Outcome}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ <GridViewColumn Width="100" Header="鏃堕棿">
+ <GridViewColumn.CellTemplate>
+ <DataTemplate>
+ <Border Style="{StaticResource CellBorder}">
+ <TextBlock Style="{StaticResource ListTableTextBlock}"
+ Text="{Binding Timestamp, StringFormat=HH:mm:ss}"/>
+ </Border>
+ </DataTemplate>
+ </GridViewColumn.CellTemplate>
+ </GridViewColumn>
+ </GridView>
+ </ListView.View>
+ </ListView>
+ </Grid>
+ </Border>
+ </Grid>
+ </Grid>
+</hb:SimpleMaskControl>
--
Gitblit v1.9.1