コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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;
            }
        }