Javascript 聚焦时,Xceed MaskedTextBox不会在开始时启动

Javascript 聚焦时,Xceed MaskedTextBox不会在开始时启动,javascript,jquery,wpf,maskedtextbox,xceed,Javascript,Jquery,Wpf,Maskedtextbox,Xceed,我正在使用Xceed MaskedTextBox <xctk:MaskedTextBox Mask="000-000-0000" x:Name="PhoneTextBox"> <xctk:MaskedTextBox.Style> <xctk:MaskedTextBox.Style> <Style.Triggers> <MultiTrigger>

我正在使用Xceed MaskedTextBox

<xctk:MaskedTextBox Mask="000-000-0000" x:Name="PhoneTextBox">
     <xctk:MaskedTextBox.Style>
       <xctk:MaskedTextBox.Style>
           <Style.Triggers>
              <MultiTrigger>
                 <MultiTrigger.Conditions>
                   <Condition Property="Text" Value="___-___-____"/>
                 </MultiTrigger.conditions>
              </MultiTrigger>
            </Style.Triggers>
       </xctk:MaskedTextBox.Style>

每当我在文本框中单击以输入数字时,它总是将光标定位在我单击的位置,而不是文本框的开头。这会导致用户开始键入一个数字,并很快用完空间,因为如果他们在末尾附近单击,他们可以输入较少的数字


问:有没有办法单击框中的任意位置,并将光标的起始位置放在前面

这样的事情应该适合你;在标记中:

<xctk:MaskedTextBox x:Name="MyMaskedTextBox"  Mask="(000) 000-000" PreviewMouseDown="MyMaskedTextBox_PreviewMouseDown"></xctk:MaskedTextBox>

在调用Select时,根据您的掩码传递光标所在位置的索引。

选择Gary Wright答案。如何定位masktextbox中的最后一个字符

int startPos = MaskTextbox1.MaskedTextProvider.FindUnassignedEditPositionFrom(MaskTextbox1.MaskedTextProvider.LastAssignedPosition + 1, true);
MaskTextbox1.Focus();
MaskTextbox1.Select(startPos, 0);
e.Handled = true;
int startPos = MaskTextbox1.MaskedTextProvider.FindUnassignedEditPositionFrom(MaskTextbox1.MaskedTextProvider.LastAssignedPosition + 1, true);
MaskTextbox1.Focus();
MaskTextbox1.Select(startPos, 0);
e.Handled = true;