コード例 #1
0
        public void CreateTimelineCalculator(
            string calendarType,
            DateTime currentDateTime,
            DateTime minDateTime,
            DateTime maxDateTime
            )
        {
            Debug.Assert(this.TimelineTray != null);

            ItemsSource = new TimelineCalendar(calendarType, m_timelineType,
                                               minDateTime, maxDateTime);

            ItemsSource.TimeFormat24 = TimeFormat24;

            m_calendarType = calendarType;

            if (ItemTemplate == null)
            {
                ItemTemplate = DefaultItemTemplate;
            }

            if (TextItemTemplate == null)
            {
                TextItemTemplate = DefaultTextItemTemplate;
            }

            if (ShortEventTemplate == null)
            {
                ShortEventTemplate = DefaultShortEventTemplate;
            }

            if (EventTemplate == null)
            {
                EventTemplate = DefaultEventTemplate;
            }

            if (m_calc != null)
            {
                m_calc.ClearEvents();
                m_calc.ClearColumns();
            }

            m_calc = new TimelineBuilder(
                this,
                CanvasPart,
                ItemTemplate,
                TextItemTemplate,
                TimelineWindowSize,
                ItemsSource,
                !IsMainBand ? ShortEventTemplate : EventTemplate,
                MaxEventHeight,
                IsMainBand,
                currentDateTime);

            m_calc.BuildColumns();
            m_calcInitialized = true;
        }
コード例 #2
0
        void UpdateControlSize(
            bool animate = true,
            Size?size    = null
            )
        {
            Utilities.Trace(this);

            if (size == null)
            {
                size = new Size(this.ActualWidth, this.ActualHeight);
            }

            if (m_calcInitialized)
            {
                m_calc.BuildColumns(animate, false, size);
                this.ResetVisibleDaysHighlight();
            }
        }