我目前正在使用此代码创建仅限数字的文本框
的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 EXCLUSIVELY来实现吗?我正在尝试最小化我的.cs文件
答案 0 :(得分:3)
如果将TextBox的Text属性的值绑定到int,您将获得一种验证,因为您将无法将MyInt的值设置为除int之外的任何值(和如果尝试,TextBox边框将变为红色。
在XAML中:
<TextBox Text="{Binding MyInt}"/>
在演示者中:
public class MyPresenter : INotifyPropertyChanged
{
public int MyInt { get; set; }
// ...
}
并将XAML的DataContext设置为MyPresenter的实例。
答案 1 :(得分:0)
就像你不能使用纯HTML来完成这项工作一样,你不能只使用XAML(据我所知)。我得到了整体“少即是多”的理念,但在这种情况下,你至少需要一些代码,例如:正则表达式,用于验证输入。