2009-08-28 5 views
1

Lorsque le contrôle du calendrier fourni dans la boîte à outils WPF (et inclus dans .Net 4) est affiché dans "vue mensuelle", il affiche les jours du mois précédent et du mois suivant, remplissant tout le calendrier. Lorsque vous cliquez sur un jour du mois précédent ou suivant, il défile automatiquement un mois en arrière ou en avant. Ce comportement est en train de jeter mes utilisateurs.WPF Toolkit Calendar Control - comment empêcher le défilement du mois suivant?

Est-il possible d'empêcher ce défilement automatique de se produire?

Merci!

Répondre

1

Si vous définissez la propriété DisplayDateStart au premier jour du mois et la propriété DisplayDateEnd au dernier jour du mois, ces jours d'autres mois ne sont pas affichés et ne peuvent donc pas être cliqués.

Si vous pouvez le faire en XAML, il ressemblerait à ceci:

<my:Calendar Margin="50,49,48,43" Name="calendar1" SelectionMode="MultipleRange" 
    DisplayMode="Month" DisplayDateStart="2009-08-01" DisplayDateEnd="2009-08-31"/> 

Mais cela ne fonctionne que si vous saviez que les dates au moment de la conception. Donc, vous voudrez probablement définir les dates dans le code.

 calendar1.DisplayDateStart = new DateTime(2009, 08, 01); 
     calendar1.DisplayDateEnd = new DateTime(2009, 08, 31); 

De grossier, vous devez indiquer le premier et le dernier jour du mois en question.

+0

Merci epotter. Mon calendrier a toujours les flèches suivantes/précédentes pour les utilisateurs à naviguer. Donc, il affichera des dates pour n'importe quel mois. Ai-je besoin d'enregistrer le mois lorsque j'entre dans un mois donné et de définir DisplayDateStart/End avec le premier et le dernier jour du mois? Comment puis je faire ça? Merci! –

+0

Dans mon expérience, avec les DisplayDateStart et DisplayDateEnd dans le mois affiché, les flèches sont là, mais ils ne font rien. Sur votre machine, le calendrier passe-t-il à un autre mois si l'utilisateur clique sur les flèches? – epotter

+0

Vous avez raison. Je ne peux pas utiliser les flèches. Je suppose que je réinitialise DisplayDateStart/End par programmation dans mes propres flèches. Merci! –

Questions connexes