通过XAML验证WPF文本框数据
本文关键字:数据 文本 WPF XAML 验证 通过 | 更新日期: 2023-09-27 18:30:09
可能重复:
WPF 中文本框中的验证
我目前正在使用此代码创建一个仅限数字的文本框
Xaml
<TextBox Height="22" HorizontalAlignment="Left" Margin="192,118,0,0" Name="Unit_ID" VerticalAlignment="Top" Width="173" PreviewTextInput="UnitID_PreviewTextInput" TextInput="Unit_ID_TextInput" TextChanged="Unit_ID_TextChanged" />
和C#码尾
private void UnitID_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
foreach (char c in e.Text)
if (!Char.IsDigit(c))
{
e.Handled = true;
break;
}
是否可以通过独占使用XAML来实现这一点?我正在尝试最小化我的.cs文件
如果您将TextBox的Text属性的值绑定到int,您将获得某种验证,因为您将无法将MyInt的值设置为int以外的任何值(如果尝试,TextBox边界将变红)。
在XAML中:
<TextBox Text="{Binding MyInt}"/>
在演示者中:
public class MyPresenter : INotifyPropertyChanged
{
public int MyInt { get; set; }
// ...
}
并将XAML的DataContext设置为MyPresenter的实例。
就像你不能使用纯HTML来完成这项工作一样,你也不能只使用XAML(据我所知)。我理解"少即是多"的理念,但在这种情况下,您至少需要一些代码,例如Regex,来验证输入。