Наследование: INosSession
 public void BeginDrag(Session session)
 {
     if (PlannedSession == null)
     return;
       PlannedSession.Planned += CurrentSessionPlanned;
       SessionDetails.Opacity = 0.5;
 }
 public void DropHere(Session session)
 {
     PlannedSession = session;
       if (PlannedSession != null)
     PlannedSession.TimeSlot = SlotName;
       NotifySessionChanged();
 }
 public bool CanDropHere(Session session)
 {
     return CanBePlanned;
 }
        void CurrentSessionPlanned(Session session, string plannedTo)
        {
            if (PlannedSession == null)
            return;

              if (plannedTo != SlotName)
              {
            PlannedSession.Planned -= CurrentSessionPlanned;
            PlannedSession = null;
            NotifySessionChanged();
              }
        }
 public void EndDrag(Session session)
 {
     SessionDetails.Opacity = 1.0;
 }