AxisVisual Class
Visualizes a given axis.
[TemplatePart(Name = "PART_DrawingSurface", Type = typeof(Canvas))]
public abstract class AxisVisual : Control
- Inheritance:
- object Visual UIElement FrameworkElement Control object
- Derived:
- XAxisVisual YAxisVisual
Properties
TickMajorMidPixel
Gets the major tick position snapped to mid-pixel, if necessary.
protected double TickMajorMidPixel { get; }
Property Value
- double:
The major tick position snapped to mid-pixel, if necessary.
TickMinorMidPixel
Gets the minor tick position snapped to mid-pixel, if necessary.
protected double TickMinorMidPixel { get; }
Property Value
- double:
The minor tick position snapped to mid-pixel, if necessary.
Methods
AreAnyTicksVisible(Size)
Determines if any ticks are visible.
protected bool AreAnyTicksVisible(Size plotSize)
Parameter | Type | Description |
---|---|---|
plotSize | Size | The plot size. |
Returns
- bool:
True if any ticks are visible, otherwise false.
DrawLineOnGeometry(PathGeometry, double, double, double, double)
Draws a line on a given geometry.
protected static void DrawLineOnGeometry(PathGeometry geometry, double x1, double y1, double x2, double y2)
Parameter | Type | Description |
---|---|---|
geometry | PathGeometry | The PathGeometry to draw the line on. |
x1 | double | The starting X point of the line. |
y1 | double | The starting Y point of the line. |
x2 | double | The ending X point of the line. |
y2 | double | The ending Y point of the line. |
DrawMajorTickAtPosition(double, Size)
Draws a major tick at a given position on the axis.
protected abstract void DrawMajorTickAtPosition(double position, Size plotSize)
Parameter | Type | Description |
---|---|---|
position | double | The position to draw the tick at. |
plotSize | Size | Size of the plot. |
DrawMinorTickAtPosition(double, Size)
Draws a minor tick at a given position on the axis.
protected abstract void DrawMinorTickAtPosition(double position, Size plotSize)
Parameter | Type | Description |
---|---|---|
position | double | The position to draw the tick at. |
plotSize | Size | Size of the plot. |
DrawSpine(Size)
Draws an axis spine.
protected abstract void DrawSpine(Size plotSize)
Parameter | Type | Description |
---|---|---|
plotSize | Size |
GetRealNumberOrDefault(double, double)
Provides the given argumentValue if it is not infinity, otherwise provides the given default argumentValue.
protected static double GetRealNumberOrDefault(double value, double defaultValue)
Parameter | Type | Description |
---|---|---|
value | double | The argumentValue to be returned if real. |
defaultValue | double | The default argumentValue to be returned if the primary argumentValue is infinity. |
Returns
- double:
The argumentValue if it is not infinity, otherwise the default argumentValue.
GetTextBlockMeasuredSize(TextBlock)
Gets the measured size of the text block.
protected static Size GetTextBlockMeasuredSize(TextBlock textBlock)
Parameter | Type | Description |
---|---|---|
textBlock | TextBlock | The text block. |
Returns
- Size:
The measured size of the text block.
GetTitleTemplateFromResources(ResourceDictionary)
Retrieves the appropriate DataTemplate for the axis title from the given ResourceDictionary.
protected abstract DataTemplate GetTitleTemplateFromResources(ResourceDictionary resources)
Parameter | Type | Description |
---|---|---|
resources | ResourceDictionary | The ResourceDictionary to retrieve the title template from. |
Returns
- DataTemplate:
The template for the axis title.
IsSpineVisible()
Determines whether or not the spine is visible.
OnApplyTemplate()
Invoked whenever application code or internal processes call ApplyTemplate
.
public override void OnApplyTemplate()
PlaceLabelAtPosition(TextBlock, double, double, Size)
Place the axis label at the given position.
protected abstract void PlaceLabelAtPosition(TextBlock label, double position, double angle, Size plotSize)
Parameter | Type | Description |
---|---|---|
label | TextBlock | The axis label to lay out. |
position | double | The position to draw the axis label at. |
angle | double | The angle to draw the axis label at. |
plotSize | Size | Size of the plot. |
Refresh(Size)
Redraws the axis.
public virtual void Refresh(Size plotSize)
Parameter | Type | Description |
---|---|---|
plotSize | Size |
UpdateTitlePosition(Size)
Updates the title position.
protected abstract void UpdateTitlePosition(Size plotSize)
Parameter | Type | Description |
---|---|---|
plotSize | Size |
Fields
Infinity
Size with width and height of infinity.
protected static readonly Size Infinity