Beispiel #1
0
        private static void keyTypedHandler(object sender, RoutedEventArgs e)
        {
            KeyboardPanel panel    = (KeyboardPanel)sender;
            CharacterKey  key      = (CharacterKey)e.OriginalSource;
            string        text     = key.getShiftAdjustedValue();
            Typeface      typeface = new Typeface(panel.textBox.FontFamily, panel.textBox.FontStyle, panel.textBox.FontWeight, panel.textBox.FontStretch);
            FormattedText ft       = new FormattedText(panel.textBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, panel.textBox.FontSize, Brushes.Black);

            if (ft.Width > panel.textBox.ActualWidth - 10)
            {
                isOverflow = true;
                panel.textBox.Background = new SolidColorBrush(Colors.Red);
                panel.textBox.IsReadOnly = true;
                panel.sendUpdateMessage();
                panel.contextLabel.Content = "Too many characters: (Use red arrow key to rub out)";
            }
            else
            {
                panel.type(text);
            }
            e.Handled = true;
        }
Beispiel #2
0
        private static void clickListener(object sender, RoutedEventArgs e)
        {
            CharacterKey key = (CharacterKey)sender;

            key.RaiseEvent(new RoutedEventArgs(CharacterKey.KeyTypedEvent, key));
        }
Beispiel #3
0
        private static void ShiftChangedCallback(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            CharacterKey key = (CharacterKey)obj;

            key.updateShiftDisplayState();
        }