Hallo!
Ich hatte an sowas gedacht:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| private void mycalendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e) { if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) return;
if (e.RemovedItems.Count == 0) return; else { var removedItems = e.RemovedItems.Cast<DateTime>().ToArray(); var addedItems = e.AddedItems.Cast<DateTime>().ToArray(); ;
var removeItems = addedItems.Where(i => removedItems.Contains(i)).ToArray(); mycalendar.SelectedDatesChanged -= mycalendar_SelectedDatesChanged; foreach (var date in removedItems) if (!mycalendar.SelectedDates.Contains(date)) mycalendar.SelectedDates.Add(date);
foreach (var date in removeItems) mycalendar.SelectedDates.Remove(date);
mycalendar.SelectedDatesChanged += mycalendar_SelectedDatesChanged; } } |
Allerdings funktioniert das noch nicht ganz, insbesondere wenn mehrere Daten ausgewählt sind und dann mehrere Daten getoggelt werden sollen. Kompliziert wird es auch, wenn ein paar der neu ausgewählten Daten in der vorherigen Auswahl lagen und ein paar nicht
Vielleicht kannst Du daraus ja aber irgendwas funktionierendes bauen
Viele Grüße
Christian
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".