/// <summary> /// Creates new instance of metro tile and assigns the name and text to it. /// </summary> /// <param name="sItemName">Item name.</param> /// <param name="ItemText">item text.</param> public MetroTileItem(string sItemName, string ItemText) : base(sItemName, ItemText) { _Frames = new CustomCollection<MetroTileFrame>(); _Frames.CollectionChanged += new NotifyCollectionChangedEventHandler(FramesCollectionChanged); MetroTileFrame frame = new MetroTileFrame(); frame.MarkupLinkClick += new MarkupLinkClickEventHandler(MarkupLinkClick); _Frames.Add(frame); }
public object Clone() { MetroTileFrame frame = new MetroTileFrame(); if (this.Image != null) frame.Image = (Image)this.Image.Clone(); frame.ImageIndent = this.ImageIndent; frame.Text = this.Text; frame.TextMarkupEnabled = this.TextMarkupEnabled; //frame.TileStyle.ApplyFontStyle(this.TileStyle); frame.TileStyle.ApplyStyle(this.TileStyle); frame.TileColor = this.TileColor; frame.TitleText = this.TitleText; frame.TitleTextAlignment = this.TitleTextAlignment; frame.TitleTextColor = this.TitleTextColor; if (this.TitleTextFont != null) frame.TitleTextFont = (Font)this.TitleTextFont.Clone(); frame.ImageTextAlignment = this.ImageTextAlignment; frame.FrameDisplayDuration = this.FrameDisplayDuration; frame.Symbol = this.Symbol; frame.SymbolSize = this.SymbolSize; return frame; }
internal Font GetTitleTextFont(MetroTileFrame frame, ElementStyle style, Control control) { Font titleFont = frame.TitleTextFont; if (titleFont == null && style != null) titleFont = style.Font; if (titleFont == null && control != null) titleFont = control.Font; if (titleFont == null) titleFont = SystemFonts.DefaultFont; // SystemInformation.MenuFont; return titleFont; }
internal static Size MeasureText(MetroTileFrame item, Graphics g, int containerWidth, Font font, eTextFormat stringFormat, bool rightToLeft) { if (item.Text == "" && item.TextMarkupBody == null) return Size.Empty; Size textSize = Size.Empty; if (item.TextMarkupBody == null) { textSize = TextDrawing.MeasureString(g, ButtonItemPainter.GetDrawText(item.Text), font, containerWidth, stringFormat); } else { Size availSize = new Size(containerWidth, 1); if (containerWidth == 0) availSize.Width = 1600; TextMarkup.MarkupDrawContext d = new TextMarkup.MarkupDrawContext(g, font, Color.Empty, false); item.TextMarkupBody.Measure(availSize, d); availSize = item.TextMarkupBody.Bounds.Size; if (containerWidth != 0) availSize.Width = containerWidth; d.RightToLeft = rightToLeft; item.TextMarkupBody.Arrange(new Rectangle(0, 0, availSize.Width, availSize.Height), d); textSize = item.TextMarkupBody.Bounds.Size; } return textSize; }