如何設置TextBox
以僅獲取特定值。例如DateTime
已定義格式設置的輸入框。如何限制文本框
Q
如何限制文本框
4
A
回答
5
http://www.codeproject.com/KB/WPF/wpfvalidation.aspx
和一個函數。這只是檢查字符串是否有內容。根據您要執行的確切格式,您的情況會更復雜:
public string Name
{
get { return _name; }
set
{
_name = value;
if (String.IsNullOrEmpty(value))
{
throw new ApplicationException("Customer name is mandatory.");
}
}
}
0
嘗試使用MaskedTextBox。
它有像DateTime定義的格式等等。
0
您也可以覆蓋文本框上的輸入方法並評估該點處的輸入。這完全取決於你的架構。
一些我已經爲這樣的任務之前覆蓋:
- OnPreviewTextInput
- OnTextInput
- OnPreviewKeyDown
6
有關使用綁定驗證附帶的WPF框架如何。
像這樣
public class DateFormatValidationRule : ValidationRule
{
public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
{
var s = value as string;
if (string.IsNullOrEmpty(s))
return new ValidationResult(false, "Field cannot be blank");
var match = Regex.Match(s, @"^\d{2}/\d{2}/\d{4}$");
if (!match.Success)
return new ValidationResult(false, "Field must be in MM/DD/YYYY format");
DateTime date;
var canParse = DateTime.TryParse(s, out date);
if (!canParse)
return new ValidationResult(false, "Field must be a valid datetime value");
return new ValidationResult(true, null);
}
}
創建有效性規則然後將其添加到您的XAML綁定以及風格來處理時,該字段爲無效。 (如果您傾向於完全更改控件,也可以使用Validation.ErrorTemplate。)這一個將ValidationResult文本作爲工具提示並將該框設置爲紅色。
<TextBox x:Name="tb">
<TextBox.Text>
<Binding Path="PropertyThatIsBoundTo" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<val:DateFormatValidationRule/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
<TextBox.Style>
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
一個建議是走的風格,並把它變成一個資源字典,所以你想擁有同樣的外觀,當其自身的驗證失敗的任何文本框。使XAML更加清潔。
相關問題
- 1. 如何自動限制文本框
- 2. 限制文字文本框
- 3. 文本框字符限制
- 4. 限制的文本框
- 5. 如何在文本輸入框中添加文本限制
- 6. 如何在MFC中限制文本框中的複製粘貼?
- 7. 在文本框中限制文字
- 8. 如何使用javascript限制中文字符在文本框中
- 9. 如何限制按鈕,除非文本框有文字
- 10. SSRS文本框條目限制字符
- 11. 字符限制在文本框
- 12. 限制文本框輸入用的DocumentFilter
- 13. 限制文本框中的字符
- 14. 由PHP限制文本框輸入值
- 15. 僅限二進制數字文本框
- 16. Visual Studio 2010 C#.NET文本框限制
- 17. 文本框限制數字或puncuation
- 18. Windows窗體文本框限制
- 19. 谷歌Chrome表格文本框限制
- 20. 文本框中的字數限制
- 21. Jquery限制輸入框中的文本
- 22. 限制文本框與特定字符
- 23. 文本框用戶輸入限制
- 24. 限制文本框中的字符
- 25. 將HTML輸入限制爲文本框
- 26. asp文本框限制字符數?
- 27. 如何獲得BackSpace - 在文本框中只有數字限制?
- 28. 如何在文本框中限制「♥♣」字符
- 29. 如何停止對JavaFX文本框的按鍵限制
- 30. 如何在wpf中限制文本框中的特殊符號%?
我在說WPF文本框 – Agzam 2009-06-30 22:15:48