public void AddEventItem(object sender, GestureEventArgs e) { Grid grid = sender as Grid; Point point = e.GetPosition(grid); string eventTitle = " + New title event"; double width = (grid.Parent as ScrollViewer).Width - 50; DateTime dateTime = _lastItem.ItemDate; int hour = (int)Math.Ceiling((point.Y) / Constants.GRID_HOURS_CELL_HEIGHT); EventItem eventItem = new EventItem() { EventColor = CustomColor.CornflowerBlue, EventStart = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour, 0, 0), EventEnd = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, hour + 1, 0, 0), EventTitle = eventTitle, EventLocation = string.Empty }; DailyDetailItem eventDetails = new DailyDetailItem(eventItem); eventDetails.Click += EditEvent; _lastItem.EventsForDay.Add(eventItem); eventDetails.SetValue(Grid.RowProperty, hour); eventDetails.SetValue(Grid.RowSpanProperty, 1); eventDetails.SetValue(Grid.ColumnProperty, 1); grid.Children.Add(eventDetails); }
private void ConstructAllDayEvents(List<EventItem> eventsForDay, double width, double heigth) { if (eventsForDay.Count > 0) ResizeUIControls(0); int index = 0; int maxlines = 5; if (eventsForDay.Count <= maxlines) maxlines = eventsForDay.Count; for (index = 0; index < maxlines; index++) { EventItem eventItem = eventsForDay[index]; DailyDetailItem item = new DailyDetailItem( eventItem); item.Click += EditEvent; _owningCalendar.spAllDayEvents.Children.Add(item); } ResizeUIControls(maxlines * (Constants.ALL_DAY_EVENT_ITEM_HEIGHT + 5)); }
private void GenerateHourEvents(List<EventItem> hourEvents) { foreach (EventItem item in hourEvents) { DailyDetailItem detailItem = new DailyDetailItem(item); int hours = item.EventEnd.Hour - item.EventStart.Hour; TimeSpan timespan = item.EventEnd - item.EventStart; double pixels = timespan.Hours * 60 + timespan.Minutes; double marginTop = item.EventStart.Minute; double marginBottom = item.EventEnd.Minute; detailItem.SetValue(Grid.RowProperty, item.EventStart.Hour +1); detailItem.SetValue(Grid.RowSpanProperty, hours); detailItem.SetValue(Grid.ColumnProperty, 1); detailItem.Height = pixels; detailItem.Margin = new Thickness(0, marginTop, 0, marginBottom); _owningCalendar.hoursDetailsGrid.Children.Add(detailItem); detailItem.Click += EditEvent; } }