2017-04-03 104 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 
    }