﻿<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>
