Browse Source

步骤设置页面数字输入键盘完善

master
sc 2 months ago
parent
commit
f7e051baec
  1. 3
      KEY/TouchKeyboardNumeral.xaml
  2. 13
      KEY/TouchKeyboardNumeral.xaml.cs
  3. 12
      Windows/ViewStep.xaml.cs

3
KEY/TouchKeyboardNumeral.xaml

@ -36,6 +36,9 @@
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#FFDDDDDD"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="#FFBBBBBB"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>

13
KEY/TouchKeyboardNumeral.xaml.cs

@ -21,6 +21,7 @@ namespace DyeingComputer.KEY
{
private bool isShiftActive = false;
private bool isSymbolActive = false;
private bool mode = false;
public string KeyValue;
public event EventHandler<KeyPressedEventArgs> KeyPressed;
private KeyboardMode currentMode = KeyboardMode.Default;
@ -69,6 +70,7 @@ namespace DyeingComputer.KEY
{
SetButtonEnabled(i.ToString(), i >= minValue && i <= maxValue);
}
mode = true;
break;
case KeyboardMode.Default:
@ -130,6 +132,7 @@ namespace DyeingComputer.KEY
// 数字键点击事件
private void KeyButton_Click(object sender, RoutedEventArgs e)
{
if (mode && PreviewTextBox.Text.Length > 0) return;
Button button = sender as Button;
if (button != null && button.IsEnabled)
{
@ -137,13 +140,13 @@ namespace DyeingComputer.KEY
PreviewTextBox.Text += keyValue;
// 触发按键事件
// KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Character, keyValue));
// KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Character, keyValue));
}
}
// 退格键点击事件
private void Backspace_Click(object sender, RoutedEventArgs e)
{
{
if (PreviewTextBox.Text.Length > 0)
{
PreviewTextBox.Text = PreviewTextBox.Text.Substring(0, PreviewTextBox.Text.Length - 1);
@ -166,7 +169,7 @@ namespace DyeingComputer.KEY
// 隐藏键点击事件
private void Hide_Click(object sender, RoutedEventArgs e)
{
// KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Hide, ""));
KeyPressed?.Invoke(this, new KeyPressedEventArgs(KeyType.Hide, ""));
// 隐藏键盘
this.Hide();
}
@ -185,8 +188,9 @@ namespace DyeingComputer.KEY
private void Window_Loaded(object sender, RoutedEventArgs e)
{
// 初始化为默认模式
SetKeyboardMode(KeyboardMode.Default);
// SetKeyboardMode(KeyboardMode.Default);
PreviewTextBox.Text = null;
mode = false;
}
}
// 按键类型枚举
@ -203,7 +207,6 @@ namespace DyeingComputer.KEY
{
public KeyType KeyType { get; }
public string KeyValue { get; }
public string DATValue { set; get; }
public KeyPressedEventArgs(KeyType keyType, string keyValue)
{

12
Windows/ViewStep.xaml.cs

@ -2225,11 +2225,9 @@ namespace DyeingComputer.Windows
// 键盘按键事件处理
private void NumeralKeyboard_KeyPressed(object sender, TouchKeyboardNumeral.KeyPressedEventArgs e)
{
if (String.IsNullOrEmpty(e.KeyValue)) return;
switch (e.KeyType)
{
case KeyType.Character:
/* case KeyType.Character:
currentTextBox.Text += e.KeyValue;
break;
case KeyType.Backspace:
@ -2237,13 +2235,17 @@ namespace DyeingComputer.Windows
{
currentTextBox.Text = currentTextBox.Text.Substring(0, currentTextBox.Text.Length - 1);
}
break;
break;*/
case KeyType.Enter:
// 回车键处理
currentTextBox.Text = e.KeyValue;
if (!String.IsNullOrEmpty(e.KeyValue)) currentTextBox.Text = e.KeyValue;
numeralKeyboard.Close();
boxID.Focus();
break;
case KeyType.Hide:
// 隐藏键盘处理
numeralKeyboard.Close();
boxID.Focus();
break;
}

Loading…
Cancel
Save