示例#1
0
        WebControl ActionControlStyle.SetUpControl(WebControl control, string defaultText, Unit width, Unit height, Action <Unit> widthSetter)
        {
            widthSetter(width);
            control.CssClass = control.CssClass.ConcatenateWithSpace("ewfBlockContainer " + CssElementCreator.AllStylesClass + " " + CssElementCreator.BoxStyleClass);

            var span = new HtmlGenericControl("span");

            span.Attributes.Add("class", CssElementCreator.BoxStyleSideAndBackgroundImageBoxClass);
            span.Style.Add("margin-left", leftImageWidth.Value + "px");
            span.Style.Add("margin-right", rightImageWidth.Value + "px");
            span.Style.Add("background-image", control.GetClientUrl(backgroundImageUrl));

            var leftImage = new EwfImage(leftImageUrl)
            {
                CssClass = "left"
            };

            leftImage.Style.Add("margin-left", -leftImageWidth + "px");

            var rightImage = new EwfImage(rightImageUrl)
            {
                CssClass = "right"
            };

            rightImage.Style.Add("margin-right", -rightImageWidth + "px");

            var label = new Label {
                Text = Text.Length > 0 ? Text : defaultText, CssClass = CssElementCreator.BoxStyleTextClass
            };

            label.Style.Add("line-height", imageHeight + "px");

            control.Controls.Add(span.AddControlsReturnThis(leftImage, rightImage, label));
            return(label);
        }
        private WebControl getIconButton()
        {
            var parent = new HtmlGenericControl("span");

            parent.Attributes["class"] = "fa-stack datetimepickerIcon";
            var iconCal = new LiteralControl {
                Text = @"<i class=""{0}""></i>".FormatWith("fa fa-calendar-o fa-stack-2x")
            };
            var iconTime = new LiteralControl
            {
                Text = @"<i class=""{0}"" style=""{1}""></i>".FormatWith("fa fa-clock-o fa-stack-1x", "position:relative; top: .20em")
            };

            parent.AddControlsReturnThis(iconCal, iconTime);

            var style = new CustomActionControlStyle(control => control.AddControlsReturnThis(parent));

            return(new CustomButton(() => "$( '#{0}' ).datetimepicker( 'show' )".FormatWith(textBox.TextBoxClientId))
            {
                ActionControlStyle = style,
                CssClass = "icon"
            });
        }