C# WPF-选项卡在文本框内工作-不用于选择其他ui元素
我正在创建自定义日期文本框,我想要它的行为(在代码隐藏中这样做): 在焦点上,它将文本设置为当前日期时间,格式为dd.MM.yyyy,并选择“dd”部分。(t.SelectionStart=0,t.SelectionLength=2) 然后我想按tab键将选择更改为“MM”零件。(t.SelectionStart=3;t.SelectionLength=2;) [“t”是当前文本框] 我拥有的代码:C# WPF-选项卡在文本框内工作-不用于选择其他ui元素,c#,wpf,xaml,C#,Wpf,Xaml,我正在创建自定义日期文本框,我想要它的行为(在代码隐藏中这样做): 在焦点上,它将文本设置为当前日期时间,格式为dd.MM.yyyy,并选择“dd”部分。(t.SelectionStart=0,t.SelectionLength=2) 然后我想按tab键将选择更改为“MM”零件。(t.SelectionStart=3;t.SelectionLength=2;) [“t”是当前文本框] 我拥有的代码: private void DateTextBox_PreviewKeyUp(object
private void DateTextBox_PreviewKeyUp(object sender, KeyEventArgs e)
{
TextBox t = sender as TextBox;
if(e.Key == Key.Tab)
{
if(t.SelectionStart == 0)
{
t.SelectionStart = 3; t.SelectionLength = 2;
} else if(t.SelectionStart == 3)
{
t.SelectionStart = 6; t.SelectionLength = 4;
} else
{
t.SelectionStart = 0; t.SelectionLength = 2;
}
e.Handled = false;
}
}
尝试e.处理假与真。没有什么变化
现在它的行为类似于:
Iam在上一个控件(也是文本框)上,按Tab键,焦点转到此文本框,另一个事件设置前两个字符的选择,再次按Tab键,焦点转到下一个元素
如何在焦点到达该文本框时强制选项卡仅在此文本框中工作?好的,将PreviewKeyUp更改为PreviewKeyDown即可工作。 Tab按下操作在PreviewKeyUp事件触发之前触发UI以聚焦下一个uielement