Программно показать всплывающее окно из DatePicker - PullRequest
0 голосов
/ 23 сентября 2011

Я использую DatePicker из набора инструментов Silverlight для Mango

Я хочу программно отобразить отображение полного режима средства выбора даты, но в настоящий момент я не вижу никаких хуков API для этого.

Возможно ли это? или я должен реализовать это сам (разумно), написав новый элемент управления?

Ответы [ 2 ]

1 голос
/ 23 сентября 2011

К сожалению, Мэтт был прав - нет открытого или защищенного API для взлома, а безопасность препятствует использованию Reflection - поэтому я добавил +1 к его ответу ... и полный ответ:

  • взять файлы из Silverlight.codeplex.com
  • либо использовать весь проект, либо создать свою собственную библиотеку, используя только DatePicker.cs, DateTimePickerBase.cs и шаблон стиля DatePicker из Generic.xaml
  • в вашей DateTimePickerBase добавьте:

    public event EventHandler<EventArgs> PopupClosedByDateSelection;
    
  • в ClosePickerPage () внутри PopupClosedByDateSelection внутри блока if(_dateTimePickerPage.Value.HasValue), добавьте:

                if (PopupClosedByDateSelection != null)
                    PopupClosedByDateSelection(this, EventArgs.Empty);
    

Кажется, это работает для случая кнопки "Назад", а также для случаев отмены и OK.

1 голос
/ 23 сентября 2011

Создайте свой собственный, я боюсь.

Будьте осторожны с ожиданиями пользователей в отношении его автоматического открытия.;)

...