C# 如何在不增加WPF长度的情况下,以一组四个字符(按空格分隔)显示文本框的文本
我必须在一个C# 如何在不增加WPF长度的情况下,以一组四个字符(按空格分隔)显示文本框的文本,c#,wpf,C#,Wpf,我必须在一个XamMaskedEditor中以空格分隔的四个字符组显示文本,而不增加原始文本的长度。我的原始文本是0000111100111,但必须显示0000 1111 0000 1111 可能吗 如果是,请告诉我 提前感谢。如果您的输入是静态最大长度(如16位信用卡号),您可以使用DataMode属性并将其设置为“原始”。这样,文本属性的值将是不带填充的输入值 <inf:XamMaskedEditor HorizontalAlignment="Center"
XamMaskedEditor
中以空格分隔的四个字符组显示文本,而不增加原始文本的长度。我的原始文本是0000111100111
,但必须显示0000 1111 0000 1111
可能吗
如果是,请告诉我
提前感谢。如果您的输入是静态最大长度(如16位信用卡号),您可以使用DataMode属性并将其设置为“原始”。这样,文本属性的值将是不带填充的输入值
<inf:XamMaskedEditor HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="150"
Mask="#### #### #### ####"
DataMode="Raw"
Text="{Binding TestTxt, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
在上面的示例中,您的输入只允许数字,如下所示:
1234 5678 9012 3456
但是文本属性的值是
12345678901233456在您的xaml中使用此转换器,未对其进行测试,但它应该可以正常工作
public class FourLetterGroupConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
var toConvert = (string)value;
StringBuilder sb = new StringBuilder();
for (var i = 0; i < toConvert.Length; i++)
{
sb.Append(toConvert[i]);
if(i != 0 && i%4 ==0)
{
sb.Append(" ");
}
}
return sb.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
公共类FourletGroupConverter:IValueConverter
{
公共对象转换(对象值、类型targetType、对象参数、字符串语言)
{
var toConvert=(字符串)值;
StringBuilder sb=新的StringBuilder();
对于(变量i=0;i
你的意思是,你想选择不同的字体大小,使长度相同或更小?嗨,我正在使用XamMaskedEditor,希望以四个字符为一组显示我的文本,例如:0000 1111 0011 1100。我想他们在问如何将.text
设置为“12345678”,但显示1234 5678
(例如,用于自动格式化信用卡号)。啊,字符的显示可以更宽,但原始字符串不应包含de空格?是的,我希望实现相同的效果。我的原始字符串类似于“12345678”,但希望在XamMaskedEditor 1234 5678中显示