Calendar.SelectedDates Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает коллекцию выбранных дат.
public:
property System::Windows::Controls::SelectedDatesCollection ^ SelectedDates { System::Windows::Controls::SelectedDatesCollection ^ get(); };
public System.Windows.Controls.SelectedDatesCollection SelectedDates { get; }
member this.SelectedDates : System.Windows.Controls.SelectedDatesCollection
Public ReadOnly Property SelectedDates As SelectedDatesCollection
Значение свойства
Объект SelectedDatesCollection, содержащий выбранные в данный момент даты. По умолчанию является пустой коллекцией.
Примеры
В следующем примере создается Calendar набор дат с несколькими диапазонами выбранных дат.
// Create a Calendar that displays dates through
// Januarary 31, 2009 and has dates that are not selectable.
Calendar calendarWithBlackoutDates = new Calendar();
calendarWithBlackoutDates.IsTodayHighlighted = false;
calendarWithBlackoutDates.DisplayDate = new DateTime(2009, 1, 1);
calendarWithBlackoutDates.DisplayDateEnd = new DateTime(2009, 1, 31);
calendarWithBlackoutDates.SelectionMode = CalendarSelectionMode.MultipleRange;
// Add the dates that are not selectable.
calendarWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 1, 2), new DateTime(2009, 1, 4)));
calendarWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 1, 9)));
calendarWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 1, 16)));
calendarWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 1, 23), new DateTime(2009, 1, 25)));
calendarWithBlackoutDates.BlackoutDates.Add(
new CalendarDateRange(new DateTime(2009, 1, 30)));
// Add the selected dates.
calendarWithBlackoutDates.SelectedDates.Add(
new DateTime(2009, 1, 5));
calendarWithBlackoutDates.SelectedDates.AddRange(
new DateTime(2009, 1, 12), new DateTime(2009, 1, 15));
calendarWithBlackoutDates.SelectedDates.Add(
new DateTime(2009, 1, 27));
// root is a Panel that is defined elswhere.
root.Children.Add(calendarWithBlackoutDates);
' Create a Calendar that displays dates through
' Januarary 31, 2009 and has dates that are not selectable.
Dim calendarWithBlackoutDates As New Calendar()
calendarWithBlackoutDates.IsTodayHighlighted = False
calendarWithBlackoutDates.DisplayDate = New DateTime(2009, 1, 1)
calendarWithBlackoutDates.DisplayDateEnd = New DateTime(2009, 1, 31)
calendarWithBlackoutDates.SelectionMode = CalendarSelectionMode.MultipleRange
' Add the dates that are not selectable.
calendarWithBlackoutDates.BlackoutDates.Add(New CalendarDateRange(New DateTime(2009, 1, 2), New DateTime(2009, 1, 4)))
calendarWithBlackoutDates.BlackoutDates.Add(New CalendarDateRange(New DateTime(2009, 1, 9)))
calendarWithBlackoutDates.BlackoutDates.Add(New CalendarDateRange(New DateTime(2009, 1, 16)))
calendarWithBlackoutDates.BlackoutDates.Add(New CalendarDateRange(New DateTime(2009, 1, 23), New DateTime(2009, 1, 25)))
calendarWithBlackoutDates.BlackoutDates.Add(New CalendarDateRange(New DateTime(2009, 1, 30)))
' Add the selected dates.
calendarWithBlackoutDates.SelectedDates.Add(New DateTime(2009, 1, 5))
calendarWithBlackoutDates.SelectedDates.AddRange(New DateTime(2009, 1, 12), New DateTime(2009, 1, 15))
calendarWithBlackoutDates.SelectedDates.Add(New DateTime(2009, 1, 27))
' root is a Panel that is defined elswhere.
root.Children.Add(calendarWithBlackoutDates)
<!-- Create a Calendar that displays dates through
Januarary 31, 2009 and has dates that are not selectable. -->
<Calendar Margin="20" SelectionMode="MultipleRange"
IsTodayHighlighted="false"
DisplayDate="1/1/2009"
DisplayDateEnd="1/31/2009"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Calendar.BlackoutDates>
<CalendarDateRange Start="1/2/2009" End="1/4/2009"/>
<CalendarDateRange Start="1/9/2009" End="1/9/2009"/>
<CalendarDateRange Start="1/16/2009" End="1/16/2009"/>
<CalendarDateRange Start="1/23/2009" End="1/25/2009"/>
<CalendarDateRange Start="1/30/2009" End="1/30/2009"/>
</Calendar.BlackoutDates>
<Calendar.SelectedDates>
<sys:DateTime>1/5/2009</sys:DateTime>
<sys:DateTime>1/12/2009</sys:DateTime>
<sys:DateTime>1/14/2009</sys:DateTime>
<sys:DateTime>1/13/2009</sys:DateTime>
<sys:DateTime>1/15/2009</sys:DateTime>
<sys:DateTime>1/27/2009</sys:DateTime>
<sys:DateTime>4/2/2009</sys:DateTime>
</Calendar.SelectedDates>
</Calendar>
Комментарии
Даты можно добавить в коллекцию по отдельности или в диапазоне с помощью AddRange метода. В зависимости от значения SelectionMode свойства добавление даты или диапазона в коллекцию может привести к его очистке. В следующей таблице показано, как CalendarSelectionMode влияет на SelectedDates свойство.
CalendarSelectionMode | Описание |
---|---|
None | Выбор не разрешается. SelectedDate не может быть задано, и в нее нельзя добавлять SelectedDatesзначения. |
SingleDate | Можно выбрать только одну дату, задав SelectedDate или первое значение в SelectedDates. AddRange не может использоваться. |
SingleRange | Возможен выбор диапазона дат. ПараметрSelectedDate, добавление даты по SelectedDatesотдельности или использование AddRange приведет к очистке всех предыдущих значений.SelectedDates |
MultipleRange | Возможен выбор нескольких несмежных диапазонов дат. Добавление даты по отдельности в SelectedDates или использование AddRange не приведет к очистке SelectedDates. Параметр SelectedDate по-прежнему очищается SelectedDates, но можно добавить дополнительные даты или диапазоны. Добавление диапазона, включающего некоторые даты, которые уже выбраны или перекрываются с другим диапазоном, приводит к объединению диапазонов и не вызывает исключения. |
Использование элемента свойства XAML
<object>
<object.SelectedDates>
oneOrMoreDateTimeObjects
</object.SelectedDates>
</object>
Значения XAML
oneOrMoreDateTimeObjects
Один или несколько DateTime элементов объекта.