Class Text
- Namespace
- GHIElectronics.Endpoint.UI.Controls
- Assembly
- GHIElectronics.Endpoint.UI.dll
public class Text : UIElement
- Inheritance
-
Text
- Inherited Members
Constructors
Text()
public Text()
Text(Font, string)
public Text(Font font, string content)
Parameters
Text(string)
public Text(string content)
Parameters
contentstring
Fields
_font
protected Font _font
Field Value
_text
protected string _text
Field Value
Properties
Font
public Font Font { get; set; }
Property Value
ForeColor
public Color ForeColor { get; set; }
Property Value
LineHeight
public int LineHeight { get; }
Property Value
TextAlignment
public TextAlignment TextAlignment { get; set; }
Property Value
TextContent
public string TextContent { get; set; }
Property Value
TextWrap
public bool TextWrap { get; set; }
Property Value
Trimming
public TextTrimming Trimming { get; set; }
Property Value
Methods
MeasureOverride(int, int, out int, out int)
Measurement override. Implement your size-to-content logic here.
protected override void MeasureOverride(int availableWidth, int availableHeight, out int desiredWidth, out int desiredHeight)
Parameters
availableWidthintAvailable size that parent can give to the child. May be MaxValue(when parent wants to measure to content). This is soft constraint. Child can return bigger size to indicate that it wants bigger space and hope that parent can throw in scrolling...
availableHeightintdesiredWidthintdesiredHeightint
Remarks
MeasureOverride is designed to be the main customizability point for size control of layout. UIElement authors should override this method, call Measure on each child UIElement, and compute their desired size based upon the measurement of the children. The return value should be the desired size.
Note: It is required that a parent UIElement calls Measure on each child or they won't be sized/arranged. Typical override follows a pattern roughly like this (pseudo-code):protected override void MeasureOverride(int avialableWidth, int availableHeight, out int desiredWidth, out int desiredHeight)
{
foreach (UIElement child in VisualChildren)
{
child.Measure(availableSize);
availableSize.Deflate(child.DesiredSize);
_cache.StoreInfoAboutChild(child);
}
Size desired = CalculateBasedOnCache(_cache);
return desired;
}</code></pre></example>
The key aspects of this snippet are:
- You must call Measure on each child UIElement
- It is common to cache measurement information between the MeasureOverride and ArrangeOverride method calls
- Calling base.MeasureOverride is not required.
- Calls to Measure on children are passing either the same availableSize as the parent, or a subset of the area depending
on the type of layout the parent will perform (for example, it would be valid to remove the area
for some border or padding).
OnRender(DrawingContext)
public override void OnRender(DrawingContext dc)