2014-10-02 8 views
0

У меня есть TextBox с регулярным выражением. Это будет для подсчета дней в году, поэтому я хочу установить максимальное значение до 366. Я написал LINQ для него, но почему-то всегда возвращается обратно. Если я превышу его и моя проверка вернется к false, я хочу, чтобы программа автоматически установила максимальное значение в моей ложной инструкции. Мой код:Как установить максимальное целочисленное значение как значение TextBox

XAML:

<TextBox PreviewTextInput="Num" MaxLength="3" HorizontalAlignment="Left" Height="25" Margin="300,130,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="140" Name="tNum" TextChanged="tbNum_TextChanged"/> 

Пожалуйста, помогите мне :)

+1

Короткий ответ заключается в поиске и использовании одного из многочисленных элементов NumericUpDown. –

ответ

0

Вы можете использовать клавишу вниз событие и проверить, если содержание вашего текстового поля + кнопка, которая была нажата более чем 365

private void TextBox_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Enter) 
    { 
     //write your validating 
    } 
} 
+1

Thx resolved. Мой код был в порядке, только событие Textchanged «прослушивало» его для меня. С KeyDown или LostFocus он работает! – Tom026

+0

Добро пожаловать. Причина, по которой ваш код не работает с событием textchanged, заключается в том, что он получает триггер после выхода из текстового поля. –

+0

Итак, что произойдет, если пользователь не нажал клавишу ввода, а просто щелкнул? –

Смежные вопросы