protected override void Dispose(bool disposing) { if (this.appointmentCollection != null) { this.appointmentCollection = null; } if (this.scheduleViews != null) { this.scheduleViews.Clear(); } if (this.scheduleViewPicker != null) { this.scheduleViewPicker.Dispose(); this.scheduleViewPicker = null; } if (this.label != null) { this.label.Dispose(); this.label = null; } if (this.button != null) { this.button.Dispose(); this.button = null; } if (this.textButton != null) { this.textButton.Dispose(); this.textButton = null; } if (this.schedule != null) { this.schedule.Dispose(); this.schedule = null; } base.Dispose(disposing); }
/// <summary> /// Initialize a new instance of the class <see cref="ScheduleGettingStarted"/> class /// </summary> public ScheduleGettingStarted() { schedule = new SFSchedule(); label.Text = "Schedule View"; label.TextColor = UIColor.Black; this.AddSubview(label); textButton.SetTitle("WeekView", UIControlState.Normal); textButton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; textButton.BackgroundColor = UIColor.Clear; textButton.SetTitleColor(UIColor.Black, UIControlState.Normal); textButton.Hidden = false; textButton.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; textButton.Layer.BorderWidth = 4; textButton.Layer.CornerRadius = 8; textButton.TouchUpInside += ShowPicker; this.AddSubview(textButton); button.SetTitle("Done\t", UIControlState.Normal); button.HorizontalAlignment = UIControlContentHorizontalAlignment.Right; button.BackgroundColor = UIColor.FromRGB(240, 240, 240); button.SetTitleColor(UIColor.Black, UIControlState.Normal); button.Hidden = true; button.TouchUpInside += HidePicker; appointmentCollection = new AppointmentCollection(); schedule.ScheduleView = SFScheduleView.SFScheduleViewWeek; schedule.MonthViewSettings.ShowAppointmentsInline = true; // Custom appointment mapping AppointmentMapping mapping = new AppointmentMapping(); mapping.Subject = "EventName"; mapping.StartTime = "From"; mapping.EndTime = "To"; mapping.AppointmentBackground = "color"; mapping.Location = "Organizer"; mapping.IsAllDay = "isAllDay"; mapping.MinHeight = "MinimumHeight"; schedule.AppointmentMapping = mapping; schedule.ItemsSource = appointmentCollection.GetAppointments(); this.AddSubview(schedule); this.scheduleViews.Add((NSString)"Week View"); this.scheduleViews.Add((NSString)"Day View"); this.scheduleViews.Add((NSString)"Work Week View"); this.scheduleViews.Add((NSString)"Month View"); SchedulePickerModel model = new SchedulePickerModel(this.scheduleViews); // Event occurs when the item picked in the picker model.PickerChanged += (sender, e) => { this.selectedView = e.SelectedValue; textButton.SetTitle(selectedView, UIControlState.Normal); if (selectedView == "Day View") { schedule.ScheduleView = SFScheduleView.SFScheduleViewDay; } else if (selectedView == "Week View") { schedule.ScheduleView = SFScheduleView.SFScheduleViewWeek; } else if (selectedView == "Work Week View") { schedule.ScheduleView = SFScheduleView.SFScheduleViewWorkWeek; } else if (selectedView == "Month View") { schedule.ScheduleView = SFScheduleView.SFScheduleViewMonth; } }; scheduleViewPicker.ShowSelectionIndicator = true; scheduleViewPicker.Hidden = true; scheduleViewPicker.Model = model; scheduleViewPicker.BackgroundColor = UIColor.White; this.OptionView = new UIView(); }