private static void PreProcessKeyboardInput(object sender, PreProcessInputEventArgs e)
        {
            if (e.Input.Device == Keyboard.PrimaryDevice)
            {
                KeyEventArgs keyEventArgs = e.Input as KeyEventArgs;

                if (keyEventArgs != null)
                {
                    string text = keyEventArgs.KeyboardDevice.KeyToString(keyEventArgs.Key);

                    if (text != string.Empty && !char.IsControl(text[0]))
                    {
                        TextComposition composition = new TextComposition(
                            InputManager.Current,
                            keyEventArgs.Device.Target,
                            text);

                        TextCompositionEventArgs ev = new TextCompositionEventArgs(
                            keyEventArgs.Device,
                            composition);
                        ev.RoutedEvent = TextInputEvent;

                        InputManager.Current.ProcessInput(ev);
                    }
                }
            }
        }
示例#2
0
 internal abstract void ValidateInput(object sender, TextCompositionEventArgs e);
示例#3
0
 private void UIElement_OnTextInput(object sender, TextCompositionEventArgs e)
 {
     throw new NotImplementedException();
 }
示例#4
0
 private void Port_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = !OnlyNumbersAllowed(e.Text);
 }
 private void PreviewPortInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = !IsTextAllowed(e.Text);
 }
示例#6
0
        private void SayiKontrol(object sender, TextCompositionEventArgs e)
        {
            var regex = new Regex("[^0-9]+");

            e.Handled = regex.IsMatch(e.Text);
        }
示例#7
0
        private void NumberValidationTextBox(object sender, TextCompositionEventArgs e)
        {
            Regex regex = new Regex("[^0-9]+");

            e.Handled = regex.IsMatch(e.Text);
        }
示例#8
0
 private void TextBoxPageSize_OnPreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = IsTextNumeric(e.Text);
 }
示例#9
0
 private void txtUser_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = new Regex(@"[^\p{L}]+").IsMatch(e.Text);
 }
示例#10
0
 private void NumberValidation(object sender, TextCompositionEventArgs e)
 {
     e.Handled = REGEX.IsMatch(e.Text);
 }
 private void txtRut_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
 }
 private void SoloNumeros(TextCompositionEventArgs e)
 {
 }
 private void tb_AssignmentPlannedDuration_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = !IsTextAllowed(e.Text);
 }
 //only numbers
 private void PreviewNumberInputHandler(Object sender, TextCompositionEventArgs e)
 {
     e.Handled = !NumberAllowed(e.Text);
 }
 //samo mala slova i brojevi
 private void PreviewTextInputHandlerVelika(Object sender, TextCompositionEventArgs e)
 {
     e.Handled = !TextAllowedVelikaSlova(e.Text);
 }
示例#16
0
 private void Limit_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = !(Char.IsNumber(e.Text, 0));
 }
示例#17
0
 private void txtDeviceID_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = new Regex(@"[^0-9.]+").IsMatch(e.Text);
 }
 private void txtCantidadRec_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = !IsTextAllowed(e.Text);
 }
示例#19
0
 private void edtSearchText_TextInput(object sender, TextCompositionEventArgs e)
 {
     SpareSearch();
 }
        /**<summary>限制端口输入内容</summary>**/
        private void Port_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            Regex regex = new Regex("[^0-9]+");

            e.Handled = regex.IsMatch(e.Text);
        }
        private void txtFoizga_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            Regex regex = new Regex(@"^\d+$");

            e.Handled = !regex.IsMatch((sender as TextBox).Text.Insert((sender as TextBox).SelectionStart, e.Text));
        }
示例#22
0
 private void TxbPassportSerial_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = "0123456789".IndexOf(e.Text) < 0;
 }
 private void TxtReferencia_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     Globales.soloTNumeroTexto(sender, e);
 }
示例#24
0
 private void ServerAddress_PreviewTextInput(object sender, TextCompositionEventArgs e) //event handler to only allow input of IP format(numbers and dots)
 {
     e.Handled = !IsTextAllowed(e.Text);
 }
示例#25
0
        public void CodeEditor_TextArea_TextEntered(object sender, TextCompositionEventArgs e)
        {
            try
            {
                int start = CodeEditor.SelectionStart - 1;
                Saved = BraceCompleted = false;
                if (e.Text.Length != 0)
                {
                    if (char.IsLetterOrDigit(e.Text[0]))
                    {
                        //判断是否在var和const声明区域
                        if (CodeEditor.Text.Length > 0)
                        {
                            int end = CodeEditor.TextArea.Caret.Offset, k;
                            if (end >= CodeEditor.Text.Length)
                            {
                                end = CodeEditor.Text.Length - 1;
                            }
                            k = end;
                            while (k > -1 && CodeEditor.Text[k] != ';')
                            {
                                --k;
                            }
                            if (k < 0)
                            {
                                k = 0;
                            }
                            string loc = CodeEditor.Text.Substring(k, end - k + 1);
                            if (loc.Contains("const") || loc.Contains("var"))
                            {
                                completionWindow?.Close();
                                return;
                            }
                        }
                        while (start > -1 && char.IsLetterOrDigit(CodeEditor.Text[start]))
                        {
                            --start;
                        }
                        if (start == -1 || !char.IsLetterOrDigit(CodeEditor.Text[start]))
                        {
                            ++start;
                        }
                        while (start < CodeEditor.Text.Length && char.IsDigit(CodeEditor.Text[start]))
                        {
                            ++start;
                        }
                        if (start > CodeEditor.SelectionStart)
                        {
                            return;
                        }
                        string str = CodeEditor.Text.Substring(start, CodeEditor.SelectionStart - start);

                        StartIndex = start;
                        Length     = str.Length;
                        if (completionWindow != null && !completionWindow.IsVisible)
                        {
                            completionWindow.Close();
                        }
                        if (completionWindow == null)
                        {
                            completionWindow = new CompletionWindow(CodeEditor.TextArea);
                            completionWindow.CloseAutomatically = false;
                            completionWindow.Closed            += delegate
                            {
                                completionWindow = null;
                            };
                        }

                        IList <ICompletionData> data = completionWindow.CompletionList.CompletionData;

                        var symbol = codeCompletion.Symbols;
                        CodeCompletion.Envirment host = null;
                        foreach (var i in symbol)
                        {
                            if (Between(i.Start, i.End, CodeEditor.TextArea.Caret.Line))
                            {
                                host = i;
                                break;
                            }
                        }
                        if (host == null)
                        {
                            host = codeCompletion.Global;
                        }
                        List <CompletionInfo> result = host?.Find(str[0]);
                        if (result == null || result.Count == 0)
                        {
                            completionWindow?.Close();
                            return;
                        }
                        foreach (var i in result)
                        {
                            var tmp = new CompletionData(i);
                            //tmp.SetStatus = (s) => { StatusContent.Invoke(() => { StatusContent.Text = s; }); };
                            bool find = false;
                            foreach (var k in data)
                            {
                                if (k.Text == tmp.Text)
                                {
                                    find = true;
                                    break;
                                }
                            }
                            if (!find)
                            {
                                data.Add(tmp);
                            }
                        }
                        completionWindow.CompletionList.SelectItem(str);

                        try
                        {
                            completionWindow.Show();
                        }
                        catch (Exception)
                        {
                            completionWindow.Close();
                        }
                    }
                    else
                    {
                        if (e.Text.Length == 1 && e.Text[0] == '(')
                        {
                            CodeEditor.Document.Insert(CodeEditor.SelectionStart, ")");
                            CodeEditor.SelectionStart--;
                            BraceCompleted = e.Handled = true;
                        }
                    }
                }
                else
                {
                    completionWindow?.Close();
                }
            }
            catch (Exception)
            {
                StatusContent.Text = "代码提示模块错误......";
            }
            bool Between(Compiler.Position start1, Compiler.Position end, int row)
            {
                if (ReferenceEquals(start1, null) || ReferenceEquals(end, null))
                {
                    return(false);
                }
                row--;
                return(row >= start1.Row && row <= end.Row);
            }
        }
示例#26
0
 /// <summary>
 /// Handles the TextEntered event of the TextArea control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="System.Windows.Input.TextCompositionEventArgs"/> instance containing the event data.</param>
 private void TextArea_TextEntered(object sender, TextCompositionEventArgs e)
 {
     ShowAutoComplete(autoOpening: true, text: e.Text);
 }
 private void TextArea_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = RaiseEventPair(this, PreviewTextInputEvent, TextInputEvent,
                                new TextCompositionEventArgs(e.Device, e.TextComposition));
 }
示例#28
0
 private void TexPointPx_PreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = e.Text.CompareTo("0") >= 0 && e.Text.CompareTo("9") <= 0;
 }
        private void TextBoxNumeroEvent(object sender, TextCompositionEventArgs e)
        {
            Regex regex = new Regex(ConstantsClients.RegexNumeros);

            e.Handled = regex.IsMatch(e.Text);
        }
示例#30
0
 private void OnlyPercentsTextBox_OnPreviewTextInput(object sender, TextCompositionEventArgs e)
 {
     e.Handled = !int.TryParse(e.Text, out var num) && num >= 0 && num <= 100;
 }
示例#31
0
        private void txtOnlyNumber_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            Regex _regex = new Regex("\\d"); //regex that matches disallowed text

            e.Handled = !_regex.IsMatch(e.Text);
        }