コード例 #1
0
        private void PrepareDecorationVisual(Border visual, CalendarNode node, CalendarDecorationType decorationType)
        {
            visual.Tag = node;

            if (decorationType == CalendarDecorationType.GridLine)
            {
                visual.BorderBrush     = this.Owner.GridLinesBrush;
                visual.BorderThickness = new Thickness(this.Owner.GridLinesThickness);
            }
            else
            {
                this.ApplyStyleToCellDecorationVisual(visual, node);
            }
        }
コード例 #2
0
        private void PrepareDecorationVisual(Border visual, CalendarNode node, CalendarDecorationType decorationType)
        {
            visual.Tag = node;

            if (decorationType == CalendarDecorationType.GridLine)
            {
                RadCalendar calendar = this.Owner;
                if (calendar.DisplayMode == CalendarDisplayMode.MultiDayView)
                {
                    MultiDayViewSettings settings = calendar.MultiDayViewSettings;
                    CalendarTimeRulerItemStyleSelector styleSelector = settings.TimeRulerItemStyleSelector ?? settings.defaultTimeRulerItemStyleSelector;
                    if (styleSelector != null)
                    {
                        Style style = styleSelector.SelectStyle(node, visual);
                        if (style != null)
                        {
                            visual.Style = style;

                            if (!XamlDecorationLayer.IsStrokeBrushExplicitlySet(visual.Style))
                            {
                                visual.BorderBrush = this.Owner.GridLinesBrush;
                            }

                            if (visual.BorderBrush != null && !XamlDecorationLayer.IsStrokeThicknessExplicitlySet(visual.Style))
                            {
                                visual.BorderThickness = new Thickness(this.Owner.GridLinesThickness);
                            }
                        }
                        else
                        {
                            visual.BorderBrush     = this.Owner.GridLinesBrush;
                            visual.BorderThickness = new Thickness(this.Owner.GridLinesThickness);
                        }
                    }
                }
                else
                {
                    visual.BorderBrush     = this.Owner.GridLinesBrush;
                    visual.BorderThickness = new Thickness(this.Owner.GridLinesThickness);
                }
            }
            else
            {
                this.ApplyStyleToCellDecorationVisual(visual, node);
            }
        }
コード例 #3
0
        private Border GetCalendarDecorationVisual(CalendarNode node, CalendarDecorationType decorationType)
        {
            Border visual;

            if (this.recycledContainers.Count > 0)
            {
                visual = this.recycledContainers.Dequeue();
                visual.ClearValue(Border.VisibilityProperty);

                this.realizedCalendarCellDecorationPresenters.Add(node, visual);
            }
            else
            {
                visual = this.CreateDecorationVisual();
                this.realizedCalendarCellDecorationPresenters.Add(node, visual);
            }

            this.PrepareDecorationVisual(visual, node, decorationType);

            return(visual);
        }