none
Calendar и свойство MultipleRange RRS feed

  • Вопрос

  • Доброго времени суток всем!
    Подскажите, пожалуйста, как в C# WPF (FW 4) при использовании контрола Calendar с SelectionMode=MultipleRange сделать так чтобы при выборе дат (диапазонов) не нужно было держать нажатым ctrl? Какие есть варианты? может вообще как-то имитировать нажатие ctrl или есть решения лучше?
    31 января 2011 г. 12:23

Ответы

  • Стандартно сделать выделение дат без ctrl нельзя.

    Нужно либо реализовывать логику самому, либо скачать wpf toolkit и там попробовать отредактировать исходник calendar под свои нужны, либо смотреть в сторону готовых беспланых или коммерческих компонентов.

    Посмотрите на календари: WPF: Calendar and Datepicker, Extending the WPF Calendar Control

     


    Для связи [mail]
    • Предложено в качестве ответа Abolmasov Dmitry 7 февраля 2011 г. 9:35
    • Помечено в качестве ответа I.Vorontsov 21 февраля 2011 г. 10:52
    2 февраля 2011 г. 7:50

Все ответы

  • Наверное самое лучшее решение - оставить использования ctrl. Как вы собираетесь очистить выделение, если при каждом щелчке вы будете добавлять его? А так как вариант можно попробовать использовать SingleRange, определить переменную для хранения выбранных дат, подписаться на событие SelectedDatesChanged и в нем уже изменять значение переменной и выбирать все предыдущие даты + новые. Может даже промежуточная переменная не потребуется, если оперировать свойствами RemovedItems и AddedItems.


    Для связи [mail]
    1 февраля 2011 г. 12:09
  • Задача в том чтобы отмечать свершившиеся даты и периоды, типа журнала. Отмеченные даты только накапливаются, снять отметку с даты можно кликнув уже выбранную дату, короче именно то что и получается с нажатым ctrl.

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

     

    PS Вообще странно что например для контрола listbox есть аналогичное свойство SelectionMode=Multiple - мультиселект без ctrl, а для календаря так не сделали почему-то.

    1 февраля 2011 г. 18:28
  • Стандартно сделать выделение дат без ctrl нельзя.

    Нужно либо реализовывать логику самому, либо скачать wpf toolkit и там попробовать отредактировать исходник calendar под свои нужны, либо смотреть в сторону готовых беспланых или коммерческих компонентов.

    Посмотрите на календари: WPF: Calendar and Datepicker, Extending the WPF Calendar Control

     


    Для связи [mail]
    • Предложено в качестве ответа Abolmasov Dmitry 7 февраля 2011 г. 9:35
    • Помечено в качестве ответа I.Vorontsov 21 февраля 2011 г. 10:52
    2 февраля 2011 г. 7:50