Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

DatePicker.BlackoutDates, propriété

Obtient ou définit une collection de dates marquées comme non sélectionnables.

Espace de noms :  System.Windows.Controls
Assembly :  PresentationFramework (dans PresentationFramework.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public CalendarBlackoutDatesCollection BlackoutDates { get; }
<object>
  <object.BlackoutDates>
    oneOrMoreCalendarDateRanges
  </object.BlackoutDates>
</object>

Valeurs XAML

oneOrMoreCalendarDateRanges

Un ou plusieurs éléments objet du type CalendarDateRange.

Valeur de propriété

Type : System.Windows.Controls.CalendarBlackoutDatesCollection
Collection de dates qui ne peuvent pas être sélectionnées. La valeur par défaut est une collection vide.

Les dates dans cette collection apparaîtront comme désactivées sur le calendrier déroulant. Si l'utilisateur tape une date qui n'est pas sélectionnable, l'événement DateValidationError se produit.

Pour rendre toutes les dates passées non sélectionnables, vous pouvez utiliser la méthode AddDatesInPast fournie par la collection retournée par cette propriété.

L'ajout d'une date à cette collection lorsqu'elle est déjà sélectionnée ou l'ajout d'une date comprise en dehors de la plage spécifiée par DisplayDateStart et DisplayDateEnd lève une exception ArgumentOutOfRangeException.

L'exemple suivant crée un DatePicker qui affiche les dates en août 2009 et spécifie que chaque samedi et dimanche n'est pas sélectionnable.


DatePicker datePickerWithBlackoutDates = new DatePicker();

datePickerWithBlackoutDates.DisplayDateStart = new DateTime(2009, 8, 1);
datePickerWithBlackoutDates.DisplayDateEnd = new DateTime(2009, 8, 31);
datePickerWithBlackoutDates.SelectedDate = new DateTime(2009, 8, 10);

datePickerWithBlackoutDates.BlackoutDates.Add(
    new CalendarDateRange(new DateTime(2009, 8, 1), new DateTime(2009, 8, 2)));
datePickerWithBlackoutDates.BlackoutDates.Add(
    new CalendarDateRange(new DateTime(2009, 8, 8), new DateTime(2009, 8, 9)));
datePickerWithBlackoutDates.BlackoutDates.Add(
    new CalendarDateRange(new DateTime(2009, 8, 15), new DateTime(2009, 8, 16)));
datePickerWithBlackoutDates.BlackoutDates.Add(
    new CalendarDateRange(new DateTime(2009, 8, 22), new DateTime(2009, 8, 23)));
datePickerWithBlackoutDates.BlackoutDates.Add(
    new CalendarDateRange(new DateTime(2009, 8, 29), new DateTime(2009, 8, 30)));

datePickerWithBlackoutDates.DateValidationError +=
    new EventHandler<DatePickerDateValidationErrorEventArgs>(DatePicker_DateValidationError);

// root is a Panel that is defined elsewhere.
root.Children.Add(datePickerWithBlackoutDates);



<DatePicker Name="datePickerWithBlackoutDates"
            DisplayDateStart="8/1/09"
            DisplayDateEnd="8/31/09"
            SelectedDate="8/10/09"
            DateValidationError="DatePicker_DateValidationError">
  <DatePicker.BlackoutDates>
    <CalendarDateRange Start="8/1/09" End="8/2/09"/>
    <CalendarDateRange Start="8/8/09" End="8/9/09"/>
    <CalendarDateRange Start="8/15/09" End="8/16/09"/>
    <CalendarDateRange Start="8/22/09" End="8/23/09"/>
    <CalendarDateRange Start="8/29/09" End="8/30/09"/>
  </DatePicker.BlackoutDates>
</DatePicker>


DatePicker gère l'événement DateValidationError, comme indiqué dans le code suivant. Si l'utilisateur entre une date qui n'est pas sélectionnable, l'exemple affiche un message. Si l'utilisateur entre le texte qui n'est pas une date valide, une exception est levée.


// If the text is a valid date, but a part of the 
// BlackoutDates collection, show a message.
// If the text is not a valid date, thow an exception.
private void DatePicker_DateValidationError(object sender,
                DatePickerDateValidationErrorEventArgs e)
{
    DateTime newDate;
    DatePicker datePickerObj = sender as DatePicker;

    if (DateTime.TryParse(e.Text, out newDate))
    {
        if (datePickerObj.BlackoutDates.Contains(newDate))
        {
            MessageBox.Show(String.Format("The date, {0}, cannot be selected.",
                                           e.Text));
        }
    }
    else
    {
        e.ThrowException = true;
    }
}


L'exemple précédent produit une sortie similaire à celle de l'illustration suivante.

DatePicker avec les dates qui ne sont pas sélectionnables

DatePicker avec des dates qui ne sont pas sélectionnables

.NET Framework

Pris en charge dans : 4

.NET Framework Client Profile

Pris en charge dans : 4

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft