WPF:MaskedTextBox+;插针

WPF:MaskedTextBox+;插针,wpf,wpftoolkit,maskedtextbox,Wpf,Wpftoolkit,Maskedtextbox,因此,我目前正在将WPF扩展工具包与MaskedTextBox一起使用,并将掩码设置为: (000)000-000这是电话号码的格式 我有一个问题,如果用户用鼠标单击选择文本框,插入符号将转到光标所在的位置(除非光标超出掩码的范围,否则插入符号默认为结尾) 如果我在文本框中使用tab键,它会将插入符号设置为右括号后,这就是我要查找的内容,但它的行为与鼠标单击不同 我尝试了以下方法: 尝试使用mousedown、mouseup、ongotfocus等在实际工具包文件中进行覆盖。 protected

因此,我目前正在将WPF扩展工具包与MaskedTextBox一起使用,并将掩码设置为:
(000)000-000
这是电话号码的格式

我有一个问题,如果用户用鼠标单击选择文本框,插入符号将转到光标所在的位置(除非光标超出掩码的范围,否则插入符号默认为结尾)

如果我在文本框中使用tab键,它会将插入符号设置为右括号后,这就是我要查找的内容,但它的行为与鼠标单击不同

我尝试了以下方法:

尝试使用mousedown、mouseup、ongotfocus等在实际工具包文件中进行覆盖。

protected override void OnMouseDown(MouseButtonEventArgs e)
{
    this.Select(1,0);
    base.OnMouseDown(e);
}
还尝试在实际的掩码文本框本身上设置事件,并隐藏代码。

protected override void OnMouseDown(MouseButtonEventArgs e)
{
    this.Select(1,0);
    base.OnMouseDown(e);
}

我在互联网上搜索了所有内容,但仍然一无所获。

这应该适合您;在标记中:

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

这正是我要找的。如果你只是在MouseDown上做,它不会因为我想的直接事件而正确更改。与预览相关的“隧道”事件就是我需要的。