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 作为历史根节点

---
 HMI.UI/Controls/KeyboradWindow.xaml |  234 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 234 insertions(+), 0 deletions(-)

diff --git a/HMI.UI/Controls/KeyboradWindow.xaml b/HMI.UI/Controls/KeyboradWindow.xaml
new file mode 100644
index 0000000..abe4a4a
--- /dev/null
+++ b/HMI.UI/Controls/KeyboradWindow.xaml
@@ -0,0 +1,234 @@
+锘�<pu:WindowX x:Class="HMI.UI.KeyboardWindow"
+            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+            xmlns:local="clr-namespace:HMI.UI"
+            xmlns:pw="https://opensource.panuon.com/wpf"
+            xmlns:pu="https://opensource.panuon.com/wpf-ui"
+            xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
+            xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
+            xmlns:dp="clr-namespace:HMI.UI.DpUtil"
+            mc:Ignorable="d"
+            Title="NumberPanel"
+            SizeToContent="Height"
+            FontSize="14"
+            FontWeight="Bold"
+            WindowStartupLocation="CenterOwner"
+            pu:WindowXModalDialog.Buttons="{x:Null}"
+            Style="{StaticResource ModalWindow}">
+    <Window.Resources>
+        <Style TargetType="Button" BasedOn="{StaticResource PrimaryButton}"/>
+    </Window.Resources>
+    
+    <Grid Margin="10" Height="600">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="Auto"/>
+            <RowDefinition Height="*"/>
+        </Grid.RowDefinitions>
+
+        <!-- 杈撳叆妗� -->
+        <TextBox x:Name="inputTextBox" 
+                 Style="{StaticResource EditorTextBoxStyle}"
+                 Grid.Row="0"
+                 Margin="0,0,0,10"
+                 VerticalScrollBarVisibility="Auto"
+                 FontSize="16"/>
+
+        <!-- 閿洏甯冨眬 -->
+        <Grid Grid.Row="1">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="*"/>
+                <RowDefinition Height="*"/>
+            </Grid.RowDefinitions>
+
+            <Grid Grid.Row="0">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <Button Grid.Column="0" Content="(" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="1" Content=")" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="2" Content="-" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="3" Content="+" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="4" Content="{}{" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="5" Content="}" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="6" Content="|" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="7" Content=":" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="8" Content="&quot;" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="9" Content="~" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="10" Content="@" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="11" Content="#" Click="KeyButton_Click" Margin="1"/>
+            </Grid>
+
+            <!-- 绗竴琛岋細鏁板瓧閿拰鐗规畩瀛楃 -->
+            <Grid Grid.Row="1">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <Button Grid.Column="0" Content="`" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="1" Content="1" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="2" Content="2" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="3" Content="3" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="4" Content="4" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="5" Content="5" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="6" Content="6" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="7" Content="7" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="8" Content="8" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="9" Content="9" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="10" Content="0" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="11" Content="Backspace" Click="BackspaceButton_Click" Grid.ColumnSpan="2" Margin="1"/>
+            </Grid>
+
+            <!-- 绗簩琛岋細瀛楁瘝閿� -->
+            <Grid Grid.Row="2">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <Button Grid.Column="0" Content="Q" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="1" Content="W" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="2" Content="E" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="3" Content="R" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="4" Content="T" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="5" Content="Y" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="6" Content="U" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="7" Content="I" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="8" Content="O" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="9" Content="P" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="10" Content="[" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="11" Content="]" Click="KeyButton_Click" Margin="1"/>
+            </Grid>
+
+            <!-- 绗笁琛岋細瀛楁瘝閿� -->
+            <Grid Grid.Row="3">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <Button Grid.Column="0" Content="A" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="1" Content="S" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="2" Content="D" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="3" Content="F" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="4" Content="G" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="5" Content="H" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="6" Content="J" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="7" Content="K" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="8" Content="L" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="9" Content=";" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="10" Content="'" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="11" Content="Enter" Click="EnterButton_Click" Grid.ColumnSpan="2" Margin="1"/>
+            </Grid>
+
+            <!-- 绗洓琛岋細瀛楁瘝閿� -->
+            <Grid Grid.Row="4">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <Button Grid.Column="0" Content="Z" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="1" Content="X" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="2" Content="C" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="3" Content="V" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="4" Content="B" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="5" Content="N" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="6" Content="M" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="7" Content="," Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="8" Content="." Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="9" Content="/" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="10" Content="=" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="11" Content="\" Click="KeyButton_Click" Margin="1"/>
+            </Grid>
+
+            <!-- 绗簲琛岋細鍔熻兘閿拰鐗规畩瀛楃 -->
+            <Grid Grid.Row="5">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                    <ColumnDefinition Width="*"/>
+                </Grid.ColumnDefinitions>
+                <Button Grid.Column="0" Content="Caps" Click="CapsButton_Click" Grid.ColumnSpan="2" Margin="1">
+                    <Button.Style>
+                        <Style TargetType="Button" BasedOn="{StaticResource PrimaryButton}">
+                            <Style.Triggers>
+                                <DataTrigger Binding="{Binding IsCapsLockOn}" Value="True">
+                                    <Setter Property="Background" Value="{DynamicResource GreenVerBar}"/>
+                                </DataTrigger>
+                            </Style.Triggers>
+                        </Style>
+                    </Button.Style>
+                </Button>
+                <Button Grid.Column="2" Content="Space" Click="SpaceButton_Click" Grid.ColumnSpan="4" Margin="1"/>
+                <Button Grid.Column="6" Content="&amp;" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="7" Content="*" Click="KeyButton_Click" Margin="1"/>
+                <Button Grid.Column="8" Content="Clear" Click="ClearButton_Click" Grid.ColumnSpan="2" Margin="1"/>
+                <Button Grid.Column="10" Content="Cancel" Style="{StaticResource DangerButton}" Click="Cancel_Click" Margin="1"/>
+                <Button Grid.Column="11" Content="OK" Style="{StaticResource SuccessButton}" Click="Ok_Click" Margin="1"/>
+            </Grid>
+        </Grid>
+    </Grid>
+</pu:WindowX>

--
Gitblit v1.9.1