[英]How to place cursor in the first position of a Datepicker control in C#?
我在wpf表单(蒙版为00-00-0000)上有一个datepicker控件。 如果日期选择器为空,那么无论我单击日期选择器文本框的位置如何,我都希望光标始终位于第一位置。 我尝试在MouseDown事件上使用SelectionStart属性(设置为0),但无效。 谁能给我个主意吗? 如果您需要更多信息,请告诉我。 任何帮助深表感谢。 谢谢!
您应该找到TextBox
元素并订阅事件PreviewMouseUp
。
1)添加带有Loaded
事件的DatePicker
:
<DatePicker Name="myDatePicker" Loaded="MyDatePicker_OnLoaded" />
2)查找TextBox
元素(在文本框元素的DatePicker
类型中为DatePickerTextBox
)并订阅PreviewMouseUp
:
private void MyDatePicker_OnLoaded(object sender, RoutedEventArgs e)
{
var tb = (DatePickerTextBox)myDatePicker.Template.FindName("PART_TextBox", myDatePicker);
if (tb != null)
{
tb.PreviewMouseUp += (s, args) =>
{
tb.CaretIndex = 0;
};
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.