2014-10-02 48 views
0

我有一個帶有正則表達式驗證的TextBox。它將用於計算一年中的天數,所以我想將最大值設置爲366.我爲它編寫了LINQ,但不知何故,它始終返回false。如果我超過它並且我的驗證變爲false,我希望程序在我的虛假陳述中自動設置最大值。我的代碼:如何設置最大整數值爲文本框的值

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控件之一。 – 2014-10-02 11:18:42

回答

0

您可以使用鍵按下事件,並檢查您的文本框+被按下的鍵的含量超過365

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

Thx解決了。我的代碼沒問題,只有Textchanged事件「爲我竊聽」了它。用KeyDown或LostFocus它正在工作! – Tom026 2014-10-02 12:08:47

+0

不用客氣。你的代碼不能與textchanged事件一起工作的原因是你離開文本框後它會得到triggert。 – 2014-10-02 14:40:16

+0

那麼如果用戶沒有按回車鍵會發生什麼情況,而只是點擊了輸入鍵呢? – 2014-11-26 06:09:04

相關問題