是否可以控制Extended Wpf Toolkit的MaskedTextBox控件的显示?

问题描述

我在用户控件上有一个扩展WPF工具包的MaskedTextBox控件,该控件绑定到一个int。 int的值不能超过两位数,而只能是一位数,这就是为什么我使用MaskedTextBox。但是我们在创建新记录时无法显示此控件。当前,在创建新记录时,它显示为“ 00”。我们只希望它显示单个零,例如“ _0”。我一直在关注its GitHub page中对MaskedTextBox的描述。这是我的第一次尝试:

input

通过查看GitHub页面,我认为它会给我“ _0”。没有,它为新记录显示“ 00”。同样,我尝试将掩码值设置为“ 00”和“ 90”。两者都显示为新记录的“ 00”。

是否可以显示带有“ _0”的新记录?如果可以,怎么办?

解决方法

您始终可以处理TextChanged事件:

private void MaskedTextBox_TextChanged_1(object sender,TextChangedEventArgs e)
{
    TextChange textChange = e.Changes.FirstOrDefault();
    TextBox textBox = (TextBox)sender;
    if (textChange != null && textChange.AddedLength == 2 && textChange.RemovedLength == 0 && textBox.Text == "00")
        textBox.Text = "_0";
}

XAML:

<tk:MaskedTextBox Mask="00" Value="0" ValueDataType="{x:Type System:Int32}"
                  TextChanged="MaskedTextBox_TextChanged_1"/>

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...