Я пытаюсь настроить поле TextEdit в моем проекте WPF, но у меня есть некоторые проблемы с маской.
XAML:
<dxe:TextEdit x:Name="dxTextEdit"
Height="23" MinWidth="200" Width="Auto"
HorizontalAlignment="Right"
Text="{Binding Value, Mode=TwoWay}"
MaskType="RegEx"
MaxLength="{Binding InputLength}"
Mask="{Binding Mask, Mode=TwoWay}"
/>
Где Mask возвращает строку вроде«[a-zA-Z0-9]» и InputLength возвращает значение.Я не могу вставить что-либо в поле или я могу вставить один символ в лучшем случае.Дело в том, что маска отлично работает в моем окне SpinEdit, которое закодировано так:
XAML:
<dxe:SpinEdit x:Name="dxSpinEdit"
Height="23" MinWidth="200" Width="Auto"
HorizontalAlignment="Right"
Text="{Binding Value, Mode=TwoWay}"
MaskType="Numeric"
IsFloatValue="{Binding FloatValue}"
MinValue="{Binding MinValue}"
MaxValue="{Binding MaxValue}"
Mask="{Binding Mask, Mode=TwoWay}"
MaxLength="{Binding Path=InputLength}"
MaskShowPlaceHolders="{Binding ShowPlaceHolder}"
InvalidValueBehavior="WaitForValidValue"
MaskUseAsDisplayFormat="True"
AllowRoundOutOfRangeValue="True"
/>
Где маска возвращает строки, такие как "d", "n0"
Мне нужно иметь возможность связать длину ввода и строку, которая определяет мою маску внутри xaml.Есть идеи, что я делаю не так?Я просмотрел большинство форумов devexpress и нашел что-то вроде этого: Mask = "([a-zA-Z0-9] | \ s) {0,31}", но это не позволяет мне изменять длину илирегулярное выражение.