Знаете ли вы, как ограничить ввод пользователя в текстовом поле, это текстовое поле принимает только целое число? Кстати, я разрабатываю для Windows 8. Я пробовал то, что искал из SO и из Google, но он не работает,Как принимать только целые числа в текстовом поле WPF
ответ
Вы можете использовать целочисленное управление сверху вниз. Там один в инструментарии WPF, который будет делать трюк:
https://wpftoolkit.codeplex.com/wikipage?title=IntegerUpDown
На самом сырого уровень вы можете перехватить KeyUp
событие или TextChanged
, чтобы увидеть, что символ добавляются и удалить его, если он не может быть разобран на Int.
Также проверьте - Only accept digits for textbox и Masking Textbox to accept only decimals
Если вы не хотите, чтобы загрузить МОФ инструментарий (который имеет и контроль IntegerUpDown или MaskedTextBox). Вы можете реализовать его самостоятельно, как показано в этом article
Вот что вы положили бы в окне:
<Window x:Class="MaskedTextBoxInWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Masked Text Box In WPF" Height="350" Width="525">
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="98,80,0,0" Name="textBlock1" Text="Enter Value:" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="184,80,0,0" Name="textBoxValue" PreviewTextInput="textBoxValue_PreviewTextInput" DataObject.Pasting="textBoxValue_Pasting" VerticalAlignment="Top" Width="120" />
</Grid>
</Window>
А затем реализовать C# в вашем коде:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void textBoxValue_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
e.Handled = !TextBoxTextAllowed(e.Text);
}
private void textBoxValue_Pasting(object sender, DataObjectPastingEventArgs e)
{
if (e.DataObject.GetDataPresent(typeof(String)))
{
String Text1 = (String)e.DataObject.GetData(typeof(String));
if (!TextBoxTextAllowed(Text1)) e.CancelCommand();
}
else
{
e.CancelCommand();
}
}
private Boolean TextBoxTextAllowed(String Text2)
{
return Array.TrueForAll<Char>(Text2.ToCharArray(),
delegate(Char c) { return Char.IsDigit(c) || Char.IsControl(c); });
}
}
попробует это. Спасибо! – Dunkey
public class IntegerTextBox : TextBox
{
protected override void OnTextChanged(TextChangedEventArgs e)
{
base.OnTextChanged(e);
Text = new String(Text.Where(c => Char.IsDigit(c)).ToArray());
this.SelectionStart = Text.Length;
}
}
- 1. как принимать только целые числа в C++
- 2. Список ограничений, чтобы принимать только целые числа
- 3. принимать только ввод символов в текстовом поле
- 4. Как мой код может принимать только целые числа в Python?
- 5. необходимо принимать только числа в поле ввода
- 6. Как ограничить мое поле должно принимать только числа в рельсах?
- 7. javascript - ввод текста, как принимать только положительные целые числа
- 8. Поле данных: принимать только положительные числа
- 9. jquery ввод только числа в текстовом поле
- 10. Проверка значения как числа в текстовом поле в WPF
- 11. Только разрешить конкретные числа в текстовом поле
- 12. html5 номер типа, чтобы принимать только положительные целые числа
- 13. Расширение TreeMap, чтобы принимать только целые числа -> Целочисленные сопоставления?
- 14. принимать определенные символы в текстовом поле
- 15. Как разрешить fminsearch искать только целые числа?
- 16. Разрешить только числовую запись в текстовом поле WPF
- 17. не должен принимать цифры в текстовом поле
- 18. Как получить только целые числа из строки?
- 19. Как ограничить текстовое поле ExtJs, чтобы принимать только числа, используя maskRe. (Должен принимать положительные, отрицательные, целочисленные и десятичные числа.)
- 20. не могу написать в текстовом поле wpf
- 21. Утверждение принимать только числа с плавающей точкой, но оно также принимает целые числа, в php?
- 22. PHP - как разрешить только буквы в текстовом поле. Также как разрешать номера только в текстовом поле
- 23. Разрешение метода принимать только числа?
- 24. Java использует только целые числа
- 25. только принимать неотрицательные числа Java
- 26. Проверка десятичных чисел в текстовом поле WPF
- 27. Diehard проверяет только целые числа?
- 28. Подтверждение ввода - только целые числа?
- 29. Python IndexError: только целые числа
- 30. Как читать целые числа в текстовом файле в C#
Есть ли у вас посмотрел на метод char.IsNumeric ..? проверяя это при нажатии клавиши или событиях с нажатием клавиш.? – MethodMan
yup У меня есть предупреждающее сообщение keychar не найдено – Dunkey
лучше показать какой-то код .. потому что есть KeyEvents, который вы можете использовать для его получения ... если не возможно, вам нужно настроить маску в этом поле – MethodMan