选择DatePicker日期

时间:2011-06-20 15:35:51

标签: silverlight datepicker

我正在尝试在silverlight应用程序中实现一项功能,用户可以在DatePicker控件获得焦点后立即开始在DatePicker中键入日期,而无需删除控件中已显示的日期。我的问题是,当控件获得焦点时,如何在DatePicker中选择显示的日期,类似于TextBox的SelectAll()。

1 个答案:

答案 0 :(得分:1)

您可以从DatePicker派生并在OnApplyTemplate()中获取对其TextBox部件的引用。每当TextBox的GotFocus事件发生时,只需在TextBox中选择SelectAll()文本。像这样:

public class SelectOnFocusDatePicker : DatePicker
{
    private DatePickerTextBox _TextBox;

    public override void OnApplyTemplate()
    {
        _TextBox = (DatePickerTextBox)GetTemplateChild("PART_TextBox");
        if (_TextBox != null)
            _TextBox.GotFocus += (s, e) => _TextBox.SelectAll();
        base.OnApplyTemplate();
    }
}

HTH。