There's a few things there that look wrong to me.
1 This isn't needed since the binding will do that for you. If you put a breakpoint here, you should see that dayView.Collection and e.NewValue are already the same.
dayView.Collection = e.NewValue as AppointmentCollections;
2 This also isn't needed. I think this is probably the main culprit since you're changing the DataContext to where "DayOneAppointmentCollections" no longer exists.
dayView.DataContext = dayView.Collection;
3 In SetupControl be sure to unsubscribe from the old collection.