2017-04-03 94 views
0

我想爲我的文本框在C#中設置「最小長度」屬性 - WPF。 事實上,我的窗口中有一個TextBox,我想限制它只有10個字符。 我將最大長度設置爲10,但我沒有找到最小長度屬性!如何設置texbox的最小長度?

+1

你需要寫你自己的那個驗證。 http://stackoverflow.com/a/43029089/424129 –

+0

沒有最小。請詳細說明,你想做什麼 – Gilad

+0

我想限制我的texbox只有10個字符長度。不多。不少。只有10. –

回答

0

我會建議你這樣的事情:

在失去焦點的事件,你當用戶離開文本框處理:

XAML:

<TextBox LostFocus="TextBox_LostFocus" /> 

隨後使用Length屬性設置您期望的字符的最小值。

C#:

private void TextBox_LostFocus(object sender, RoutedEventArgs e) 
{ 
    if (((TextBox)sender).Text.Length < 5) 
    { 
     MessageBox.Show("You need to write at least 5 characters"); 
    } 
} 

這是它應該如何看:

example

+2

你已經寫下了和我一樣的答案。這有什麼不同? – Parag

1

在您的視圖模型中創建一個屬性「MinLength」。

將丟失的焦點事件處理程序附加到您的文本框並在其中,並使用上述聲明的屬性檢查最小數量的字符。如果文本框長度爲< 10,則再次在同一文本框中設置焦點。

的XAML:

<TextBox LostFocus="UIElement_OnLostFocus"></TextBox> 

後面的代碼:

private void UIElement_OnLostFocus(object sender, RoutedEventArgs e) 
    { 
     // check condition here 
    }