Click here to Skip to main content
15,896,111 members
Articles / Desktop Programming / Windows Forms

Reputationator - CP Narcissists Rejoice! Part 2 of 4

Rate me:
Please Sign up or sign in to vote.
4.85/5 (20 votes)
20 Sep 2012CPOL13 min read 44.9K   496   14  
Keep more detailed track of your Codeproject reputation points.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Visiblox.Charts</name>
    </assembly>
    <members>
        <member name="T:Visiblox.Charts.AxisBase`1">
            <summary>Provides a base implementation of <see cref="T:Visiblox.Charts.IAxis"/>. An <see cref="T:Visiblox.Charts.IAxis"/> represents a single chart axis which may be vertical or horizontal.</summary>
            <remarks><para>See <see cref="T:Visiblox.Charts.IAxis"/> for a discussion of the general responsibilities of an axis.</para>
            <para><see cref="T:Visiblox.Charts.AxisBase`1"/> provides a base axis implementation which handles the logic required to render an axis. In particular AxisBase
            handles rendering of the axis line, title, ticks and grid stripes, and labels. AxisBase also takes care of coordinate conversion between data values and render positions,
            and the relationship between
            <see cref="P:Visiblox.Charts.AxisBase`1.Zoom"/> and <see cref="P:Visiblox.Charts.AxisBase`1.ActualRange"/>'s EffectiveMaximum and EffectiveMinum members.</para>
            <para>To provide a new axis implementation, a subclass must implement <see cref="M:Visiblox.Charts.AxisBase`1.GetMajorTickValues"/> and <see cref="M:Visiblox.Charts.AxisBase`1.GetMinorTickValues"/> to specify
            what spacing ticks, labels, grid lines and grid stripes are given. Other virtual methods are provided for further customisation.</para>
            <para>
            If an invalid <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> is supplied, the <see cref="P:Visiblox.Charts.AxisBase`1.ActualRange"/> will remain the same. A null <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> will cause the <see cref="P:Visiblox.Charts.AxisBase`1.ActualRange"/> 
            to be auto-calculated.</para>
            <para>If the LabelStyle defines either a TextAlignment or HorizontalAlignment, but not both, these two will be equivalent to each other.</para>
            <para>If a <see cref="P:Visiblox.Charts.AxisBase`1.LabelAngle"/> is explicitly set, <see cref="P:Visiblox.Charts.AxisBase`1.LabelsAutoFit"/> will have no effect and labels will be displayed at the give angle.</para>
            </remarks>
            <typeparam name="TComparable">The value type for this axis.</typeparam>
            <seealso cref="T:Visiblox.Charts.IAxis"/>
            <seealso cref="T:Visiblox.Charts.NumericAxisBase"/>
            <seealso cref="T:Visiblox.Charts.NumericAxisBase"/>
            <seealso cref="T:Visiblox.Charts.LinearAxis"/>
            <seealso cref="T:Visiblox.Charts.LogarithmicAxis"/>
            <seealso cref="T:Visiblox.Charts.CategoryAxis"/>
            <seealso cref="T:Visiblox.Charts.DateTimeAxis"/>
        </member>
        <member name="T:Visiblox.Charts.AxisCommonBase`1">
            <summary>
            Provides a base implementation of <see cref="T:Visiblox.Charts.IAxisCommon"/>.
            </summary>
            <remarks>
            Implements responsibilities that all Visiblox axes need to have. This inlcudes declaring
                shared properties that <see cref="T:Visiblox.Charts.IAxisCommon"/> defines (mostly related to styling, formatting and tick intervals),
                implementing basic handling of the <see cref="P:Visiblox.Charts.AxisCommonBase`1.Range"/> and implementing style properties and
                other properties shared among the axes.
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.IAxisCommon">
            <summary>
            Represents an interface that defines axes for both Cartesian and radial charts.
            </summary>
            <remarks>
            <para>
            All Visiblox axes have an <see cref="P:Visiblox.Charts.IAxisCommon.Orientation"/> (either horizontal or vertical) and a <see cref="P:Visiblox.Charts.IAxisCommon.Title"/>.
            </para>
            <para>
            The axes also define two ranges. The <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> is the range set buy the user, <see cref="P:Visiblox.Charts.IAxisCommon.ActualRange"/>
            is the range that's auto-calculated by the axis, taking <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> into effect if set.
            Different type of axes use different implementations of <see cref="T:Visiblox.Charts.IRange"/> and they
            specify which one they need through returning such a type when implementing the <see cref="M:Visiblox.Charts.IAxisCommon.CreateRange"/> method.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IAxis"/>
        </member>
        <member name="T:Visiblox.Charts.Primitives.IInvalidatable">
            <summary>
            This interface represents any element of Visiblox Charts which may be invalidated.  When an object requires invalidation it should add itself to 
            the <see cref="T:Visiblox.Charts.Primitives.InvalidationHandler"/> class.  The <see cref="T:Visiblox.Charts.Primitives.InvalidationHandler"/> holds the responsibility for calling <see cref="M:Visiblox.Charts.Primitives.IInvalidatable.DoInvalidate"/>
            which is where the actual work for the invalidation should happen.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.IInvalidatable.DoInvalidate">
            <summary>
            Invalidates this object.  This method should implement any invalidation logic for the implementing class.
            </summary>
            <remarks>
            This method should never be called directly.  Instead, it is the responsibility of <see cref="T:Visiblox.Charts.Primitives.InvalidationHandler"/> to do the
            invalidate and call this method.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.Primitives.IInvalidatable.Invalidate">
            <summary>
            This method should implement any logic prior to adding an instance of itself to <see cref="T:Visiblox.Charts.Primitives.InvalidationHandler"/>.
            </summary>
            <remarks>
            It is advised that when this method is called it should add an instance of itself to <see cref="T:Visiblox.Charts.Primitives.InvalidationHandler"/>.
            Upon the next invalidation cycle, the DoInvalidate method will be called by the <see cref="T:Visiblox.Charts.Primitives.InvalidationHandler"/>.
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.Primitives.IRenderElementOwner">
            <summary>
            Represents a component that defines a member - <see cref="P:Visiblox.Charts.Primitives.IRenderElementOwner.Element"/> - as it's visual root.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IRenderElementOwner.Element">
            <summary>
            Gets the framework element that needs to be added to the visual tree by the chart.
            This element is the root visual element of the component.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IAxisCommon.GetFormattedDataValue(System.IComparable)">
            <summary>
            Formats the given value for display on the axis
            </summary>
            <param name="dataValue">Data value to format</param>
            <returns>The formatted value</returns>
        </member>
        <member name="M:Visiblox.Charts.IAxisCommon.IsDataValueRenderable(System.IComparable)">
            <summary>
            Returns whether <paramref name="dataValue"/> can be rendered on the axis.
            </summary>
            <param name="dataValue"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.IAxisCommon.SetActualRange(Visiblox.Charts.IRange)">
            <summary>
            If the axis does not have an explicit range set, the chart will automatically calculate
                a suitable range, with margins, for this axis, setting it via this method. This method should only
                be called by the chart or an axis implementation.
            </summary>
            <param name="range">Range to scale the axis to</param>
        </member>
        <member name="M:Visiblox.Charts.IAxisCommon.CreateRange">
            <summary>
            Factory method. Returns the range type used by the axis implementation.
            </summary>
            <example>
            An axis that uses a double scale would return a <see cref="T:Visiblox.Charts.DoubleRange"/>.
            One using categories would return a <see cref="T:Visiblox.Charts.CategoryRange"/>.
            </example>
            <returns>The IRange implementation used by the concrete axis.</returns>
        </member>
        <member name="P:Visiblox.Charts.IAxisCommon.Range">
            <summary>
            Gets or sets the user-specified range of this axis.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IAxisCommon.ActualRange">
            <summary>
            Gets the actual (computed) range of this axis, without zoom applied. This object is volatile
            </summary>
            <remarks>This range is either the user-specified <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> if set, or otherwise calculated based on the data.</remarks>
            <remarks> Do not change the properties on this object as it may be overwritten by the chart. 
            Instead use <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> to set a specific range.</remarks>
            <seealso cref="P:Visiblox.Charts.IAxisCommon.Range"/>
            <seealso cref="M:Visiblox.Charts.IAxisCommon.SetActualRange(Visiblox.Charts.IRange)"/>
        </member>
        <member name="P:Visiblox.Charts.IAxisCommon.Orientation">
            <summary>
            Gets the Axis orientation.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IAxisCommon.Title">
            <summary>
            Gets or sets the title of the axis
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IAxisCommon.LabelFormatString">
            <summary>
            Gets or sets the format string used for formatting the labels. This string can either be a simple format token, e.g. 'N2', or a complete format string '{0:yyyy MMMM dd}'.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.RangePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.Range"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.TitlePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.Title"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.LabelFormatStringPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.LabelFormatString"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.LabelStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.LabelStyle"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.TitleStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.TitleStyle"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.MajorTickStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.MajorTickStyle"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.OnMinorTickStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.MinorTickStyle"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.MinorTickStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.MinorTickStyle"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.AxisLineStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.ShowAxis"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.ShowAxisPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.ShowAxis"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.ShowLabelsPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.ShowLabels"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.MajorTickIntervalPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.MajorTickInterval"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.MinorTickIntervalPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when <see cref="P:Visiblox.Charts.AxisCommonBase`1.MinorTickInterval"/> is changed. Override to handle change event in child class.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.Invalidate">
            <inheritdocs />
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.OrientationPropertyChanged">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.GetFormattedDataValue(System.IComparable)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.IsDataValueRenderable(System.IComparable)">
            <summary>
            Returns whether <paramref name="dataValue"/> can be rendered on the axis.
            Override if there are points that aren't rendered in the concrete axis.
            </summary>
            <param name="dataValue">The value to check</param>
            <returns>True if the data value is renderable and false otherwise.  The default implementation returns
            true for any non-null, non-NaN values</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.DoInvalidate">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.SetActualRange(Visiblox.Charts.IRange)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.CreateRange">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.ConvertToTComparable(System.IComparable)">
            <summary>
            Converts value to TComparable
            </summary>
            <param name="value"></param>
            <returns>The casted or converted TComparable value of the passed parameter. 
                Throws InvalidCastException if the conversion is not possible.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.GetFormattedDataValueInternal(`0)">
            <summary>
            Formats the given Data value for display on the axis.
            </summary>
            <remarks>If a <see cref="P:Visiblox.Charts.AxisCommonBase`1.LabelFormatString"/> is specified, it is used otherwise the string representation of the value is used.
            This method calls back to <see cref="M:Visiblox.Charts.AxisCommonBase`1.GetFormattedDataValueInternal(`0,System.String)"/> passing <see cref="P:Visiblox.Charts.AxisCommonBase`1.LabelFormatString"/> as parameter.</remarks>
            <param name="dataValue">The Data value to format.</param>
            <returns>The formatted Data value.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.GetFormattedDataValueInternal(`0,System.String)">
            <summary>
            Formats the given Data value for display on based on the passed format string.
            </summary>
            <remarks>If <paramref name="formatString"/> is valid, it is used for formatting. 
            Otherwise the string representation of the value is used; 
            This method can be overridden in subclasses to provide specific behaviour.</remarks>
            <param name="dataValue">The Data value to format.</param>
            <param name="formatString">The format string.</param>
            <returns>The formatted Data value.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.GetCorrectFormatString(System.String)">
            <summary>
            Obtains the value of the FormatString property, modifying it so that it can be
            used directly in <c>string.Format()</c>.
            </summary>
            <param name="originalFormatString"></param>
            <returns>The processed format string.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.ComputeActualInterval">
            <summary>
            Calculates the <see cref="P:Visiblox.Charts.AxisCommonBase`1.ActualMajorTickInterval"/> of the axis.
            </summary>
            <remarks>This base implementation sets the actual tick intervals to the user-set values if they exist.
            This method should be overridden in subclasses to calculate the actual tick intervals
            when the user has not set an interval.</remarks>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.Range_PropertyChangedInternal(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a property of <see cref="P:Visiblox.Charts.AxisCommonBase`1.Range"/> has changed. Override in child classes
                to handle this event.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.RangeProperty">
            <summary>
            Identifies the Range Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.TitleProperty">
            <summary>
            Identifies the Title Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.LabelFormatStringProperty">
            <summary>
            Identifies the LabelFormatString Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.LabelStyleProperty">
            <summary>
            Identifies the LabelStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.TitleStyleProperty">
            <summary>
            Identifies the TitleStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.MajorTickStyleProperty">
            <summary>
            Identifies the MajorTickStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.MinorTickStyleProperty">
            <summary>
            Identifies the MinorTickStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.AxisLineStyleProperty">
            <summary>
            Identifies the AxisLineStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.ShowAxisProperty">
            <summary>
            Identifies the ShowAxis Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.ShowLabelsProperty">
            <summary>
            Identifies the ShowLabels Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.MajorTickIntervalProperty">
            <summary>
            Identifies the MajorTickInterval Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisCommonBase`1.MinorTickIntervalProperty">
            <summary>
            Identifies the MinorTickInterval Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisCommonBase`1.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.AxisCommonBase`1.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.Orientation">
            <summary>
            Gets or sets the orientation of this axis.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.LayoutRoot">
            <summary>
            Gets the root of this axis control.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.Visiblox#Charts#IAxisCommon#Range">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.ActualMajorTickInterval">
            <summary>
            Gets the actual interval at which major ticks are drawn on the axis. Grid lines are also drawn at this interval.
            </summary>
            <remarks>This property is set to <see cref="P:Visiblox.Charts.AxisCommonBase`1.MajorTickInterval"/> if it exists, otherwise it is computed based on the data ranges.</remarks>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.ActualMinorTickInterval">
            <summary>
            Gets the actual interval at which minor ticks are drawn on the axis.
            </summary>
            <remarks>This property is set to <see cref="P:Visiblox.Charts.AxisCommonBase`1.MajorTickInterval"/> if it exists, otherwise it is computed based on the data ranges.</remarks>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.ActualRange">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.Element">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.Range">
            <summary>
            Gets or sets the user-specified range of this axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.Title">
            <summary>
            Gets or sets the title of the axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.LabelFormatString">
            <summary>
            Gets or sets the format string used for formatting the labels. This string can either be a simple format token, e.g. 'N2', or a complete format string '{0:yyyy MMMM dd}'. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.LabelStyle">
            <summary>
            Gets or sets  the style for the labels. The Style should have a TargetType of TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.TitleStyle">
            <summary>
            Gets or sets  the style for the title that is shown for this axis. The Style should have a TargetType of TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.MajorTickStyle">
            <summary>
            Gets or sets  the style for the minor ticks. The Style should have a TargetType of Line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.MinorTickStyle">
            <summary>
            Gets or sets  the style for the major ticks. The Style should have a TargetType of Line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.AxisLineStyle">
            <summary>
            Gets or sets the style used for the axis line. This Style should have a TargetType of Line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.ShowAxis">
            <summary>
            Gets or sets whether to show the whole of the axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.ShowLabels">
            <summary>
            Gets or sets whether to show tick labels on the axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.MajorTickInterval">
            <summary>
            Gets or sets the interval between major ticks. Grid lines are also spaced at this interval. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisCommonBase`1.MinorTickInterval">
            <summary>
            Gets or sets the interval between minor ticks. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.AxisCommonBase`1.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.IAxis">
            <summary>
            Represents a single Cartesian chart axis which may be vertical or horizontal.
            </summary>
            <remarks>
            <para>
            An <see cref="T:Visiblox.Charts.IAxis"/> is situated along one edge of the chart's plot area (depending on the orientation 
            and specified location of the axis). Visually, it is responsible for the calculation and display of ticks and labels,
            and for adding grid lines on the chart's plot area.
            </para>
            <para>
            The <see cref="T:Visiblox.Charts.IAxis"/> is also responsible for the calculations converting between data values and plot area coordinates,
            and handling the range of data displayed along this axis.
            </para>
            <para>
            The axis supports zooming through the <see cref="P:Visiblox.Charts.IAxis.Zoom"/> property. When this property is changed the axis redraws itself.
            Also, components of the <see cref="T:Visiblox.Charts.Chart"/> (such as series and behaviours) render themselves based on the zoom value of the
            chart's axes.
            </para>
            <para>
            The axis has multiple range properties:
            <list type="bullet"><item><see cref="P:Visiblox.Charts.IAxisCommon.Range"/> -  The client supplied range. This may be null.</item>
            <item><see cref="P:Visiblox.Charts.IAxis.ActualRange"/> - The actual axis range. If Range is specified ActualRange = Range,
            otherwise ActualRange is computed automatically.</item>
            </list>
            </para>
            <para>The axis contains 2 distinct coordinate systems:
            <list type="bullet">
            <item>The Data Value- this is within the actual data set. This can contain any of the supported Data types, e.g. double, DateTime</item>
            <item>The Render Position - this is within the chart's Plot Area. It is used to return a coordinate where the shape can be drawn. As such, it is scaled from the top in the Y direction, not the bottom.</item>
            </list>
            </para>
            <para>The <see cref="T:Visiblox.Charts.Chart"/> will automatically create axes based upon the supplied data, but chart users will often wish to specify their own axes
            in order to use a different axis type, or customise the various properties of an axis.</para>
            <para>To implement a new axis, it is highly recommended to inherit from <see cref="T:Visiblox.Charts.AxisBase`1"/>.</para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.AxisBase`1"/>
            <seealso cref="T:Visiblox.Charts.LinearAxis"/>
            <seealso cref="T:Visiblox.Charts.DateTimeAxis"/>
            <seealso cref="T:Visiblox.Charts.CategoryAxis"/>
        </member>
        <member name="M:Visiblox.Charts.IAxis.GetDataValueAsRenderPositionWithZoom(System.IComparable)">
            <summary>
            Returns the render position within chart's plot area where the data value would be plotted WITH the zoom applied or Double.NaN if 
                <paramref name="dataValue"/> could not be plotted.
            </summary>
            <example>
            On an axis with Horizontal <see cref="T:System.Windows.Controls.Orientation"/>; a <paramref name="dataValue"/> rendered at the far left of the axis (with zoom) would return 0, rendered
            at the far right would return the Axis' ActualWidth.
            </example>
            <example>
            On an axis with Vertical <see cref="T:System.Windows.Controls.Orientation"/>; a <paramref name="dataValue"/> rendered at the top of the axis (with zoom) would return 0, rendered
            at the bottom would return the Axis' ActualHeight.
            </example>
            <example>
            Should the <paramref name="dataValue"/> currently be displayed off the side of the axis, a negative or greater than the width/height position may be returned.
            </example>
            <param name="dataValue">Data value</param>
            <returns>Render position where <paramref name="dataValue"/> would be plotted</returns>
        </member>
        <member name="M:Visiblox.Charts.IAxis.GetDataValueAsRenderPositionWithoutZoom(System.IComparable)">
            <summary>
            Returns the render position within chart's plot area where the data value would be plotted WITHOUT the zoom applied or Double.NaN if 
                <paramref name="dataValue"/> could not be plotted.
            I.e. this method returns a value which would be the same as invoking <see cref="M:Visiblox.Charts.IAxis.GetDataValueAsRenderPositionWithZoom(System.IComparable)"/> without the axis being zoomed in.
            </summary>
            <remarks>
            This method returns where the <paramref name="dataValue"/> would be rendered without zoom applied, regardless of whether a zoom has 
            actually been applied or not.
            </remarks>
            <example>
            On an axis with Horizontal <see cref="T:System.Windows.Controls.Orientation"/>; a <paramref name="dataValue"/> rendered at the far left of the axis would return 0, rendered
            at the far right would return the Axis' ActualWidth.
            </example>
            <example>
            On an axis with Vertical <see cref="T:System.Windows.Controls.Orientation"/>; a <paramref name="dataValue"/> rendered at the top of the axis would return 0, rendered
            at the bottom would return the Axis' ActualHeight.
            </example>
            <example>
            Should the <paramref name="dataValue"/> currently be displayed off the side of the axis, a negative or greater than the width/height position may be returned.
            </example>
            <param name="dataValue">Data value</param>
            <returns>Render position where <paramref name="dataValue"/> would be plotted</returns>
        </member>
        <member name="M:Visiblox.Charts.IAxis.GetRenderPositionAsDataValueWithZoom(System.Double)">
            <summary>
            Returns the passed render positions (within chart's plot area) with zoom's data value. 
            </summary>
            <example>
            If this axis is a <c>AxisBase&lt;DateTime&gt;</c> then it will convert the double position
            to the <see cref="T:System.DateTime"/> value that it represents on the axis with zoom applied.
            </example>
            <param name="renderPosition">Render position with zoom applied</param>
            <returns>The Data value of the Render position</returns>
        </member>
        <member name="M:Visiblox.Charts.IAxis.GetRenderPositionAsDataValueWithoutZoom(System.Double)">
            <summary>
            Returns the passed render position (within chart's plot area) without zoom's data value.
            </summary>
            <example>
            If this axis is a <c>AxisBase&lt;DateTime&gt;</c> then it will convert the double position
            to the <see cref="T:System.DateTime"/> value that it represents on the axis.
            </example>
            <param name="renderPosition">Render position without zoom applied</param>
            <returns>The Data value of the Render position</returns>
        </member>
        <member name="M:Visiblox.Charts.IAxis.Init(System.Windows.Controls.Grid,Visiblox.Charts.AxisLocation,System.Windows.Controls.Orientation)">
            <summary>
            Invoked by the <see cref="T:Visiblox.Charts.Chart"/> when an axis
            is initially added to the chart or its location within the chart is changed.</summary>
            <remarks>This method allows the axis to obtain a reference to the 
            Grid UI element that is the charts layout root, as well as the <paramref name="location"/> of the axis
            in relation to the plot area (eg left or right), and the <paramref name="orientation"/> of the axis
            (ie vertical or horizontal). 
            Typically initialisation would include adding grid lines (which are the responsibility of each axis).
            </remarks>
            <param name="gridLayoutRoot">The root Grid of the chart's control template.</param>
            <param name="location">The location of the Axis within the chart, this can be used to determine how
            to render the axis.</param>
            <param name="orientation">The orientation of the axis (ie vertical or horizontal).</param>
        </member>
        <member name="M:Visiblox.Charts.IAxis.DeInit">
            <summary>
            Invoked by the chart when an axis is removed from display. 
            Typically used to remove grid lines and anything else set up in the <see cref="M:Visiblox.Charts.IAxis.Init(System.Windows.Controls.Grid,Visiblox.Charts.AxisLocation,System.Windows.Controls.Orientation)"/> method.
            </summary>   
        </member>
        <member name="M:Visiblox.Charts.IAxis.GetZoom(System.Double,System.Double)">
            <summary>
            Determines the zoom required such that the indicated pixel range fills the axis.
            </summary>
            <remarks>
            Determines the Zoom value that would be required in order to zoom the axis such 
            that the range described by the startPoint and endPoint pixel coordinates fills the 
            axis. For example, if this is a horizontal axis with an ActualWidth of 500 pixels,
            invoking GetZoom with start and end points of 100 and 200 respectively would provide a 
            zoom, which when applied to the axis, would result in the data within this 100 pixel range filling
            the entire axis.
            </remarks>
            <param name="startPoint">The start point, in pixels.</param>
            <param name="endPoint">The end point, in pixels.</param>
            <returns>The required zoom</returns>
        </member>
        <member name="M:Visiblox.Charts.IAxis.AdoptZoomAsRange">
            <summary>
            Normalises the <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> of the axis to represent the effective range of the axis with a default <see cref="P:Visiblox.Charts.IAxis.Zoom"/> 
            (ie scale 1 and offset 0).
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IAxis.Zoom">
            <summary>
            Gets or sets the zoom applied to this axis. This property is used by components of the
            <see cref="T:Visiblox.Charts.Chart"/> to determine their position and size when plotting themselves.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IAxis.ActualRange">
            <summary>
            Gets the actual (computed) range of this axis, without zoom applied. This object is volatile.
            </summary>
            <remarks>This range is either the user-specified <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> if set, or otherwise calculated based on the data.</remarks>
            <remarks> Do not change the properties on this object as it may be overwritten by the chart. 
            Instead use IAxis.Range to set a specific range.</remarks>
            <seealso cref="P:Visiblox.Charts.IAxisCommon.Range"/>
            <seealso cref="M:Visiblox.Charts.IAxisCommon.SetActualRange(Visiblox.Charts.IRange)"/>
        </member>
        <member name="P:Visiblox.Charts.IAxis.AutoScaleToVisibleData">
            <summary>
            Gets or sets whether the axis should be scaled to fit the data set currently shown on the chart.
            </summary>
            <remarks>
            If enabled, the axis will be rendered each time the visible data changes. This is particularly useful when setting the range of one axis manually
            resulting in data points no longer on the chart's visible area.
            </remarks>
            <remarks>
            Note that the use of this property is only required when wanting to restrict the auto-calculated range of one axis based on the data currently included by the range
            on another.  Take the example where the data series contains the first 10 integer points of the function y=x from 0 to 9, but the x-axis range was restricted
            manually to the range 0-3.  If <see cref="P:Visiblox.Charts.IAxis.AutoScaleToVisibleData"/> is set to false on the y-axis its range will be calculated as 0-9, taking into
            consideration all points in the data series.  If <see cref="P:Visiblox.Charts.IAxis.AutoScaleToVisibleData"/> is set to true on the y-axis its range will be calculated as 
            0-3, taking into consideration only those points shown based on the x-axis' range.
            </remarks>
            <remarks>
            This property is not required to make the axis automatically calculate a range based on the data contained in the data series, that will automatically
            happen by default unless an explicit <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> is set by the user.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.IAxis.IsAutoMarginEnabled">
            <summary>
            Gets or sets whether margins are enabled for auto-generated ranges on this axis.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.IAxis.ValueConversionChanged">
            <summary>
            Raised to indicate the display position &lt;-&gt; axis value conversion has changed.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IAxis.RenderingEnabled">
            <summary>
            Gets or sets whether rendering is enabled.  If set to false the axis should not render itself, in particular ticks and labels.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IAxis.AdditionalLabels">
            <summary>
            Gets the list of labels added externally to the axis.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.AdditionalLabelPadding">
            <summary>
             AxisLabel needs to know how much padding will be added.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.MAXIMUM_NUMBER_OF_TICKS">
            <summary>
            Used to estimate the maximum number of ticks which should be rendered.
            </summary>
            <seealso cref="P:Visiblox.Charts.AxisBase`1.NumberOfTicks"/>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._shadowedAdditionalLabels">
            <summary>
            List of the existing AdditionalLabels. This list needs to be kept so that upon NotifyCollectionChangedAction.Reset event
                the previous members' PropertyChanged event handlers can be unsubscribed (as on the NotifyCollectionChangedAction.Reset event
                e.OldItems is empty)
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._generatedAxisLabels">
            <summary>
            List to store the generated axis labels. This collection is used to hide some of them if an additional label would
                appear over them.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._layoutCycleDetector">
            <summary>
            Member to help detect layout cycles. Keeps track of previous sizes of the panel.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._actualRange">
            <summary>
            The actual range of the axis.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._cachedValues">
            <summary>
             A cache of the scaling factors used to increase speed
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.AxisLabel">
            <summary>
             The axis label control
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._axisLabelContainer">
            <summary>
             The transpose panel used to rotate the control so that it can be used in horizontal or vertical situations.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._gridlineLayoutRoot">
            <summary>
            The layout root the gridline container is located on, used to remove it on dispose.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1._cachedGridStripeValuesAndFillings">
            <summary>
            A collection to store grid cached stripe values and whether they're on a white line
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.ShowAxisPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.MajorTickIntervalPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.MinorTickIntervalPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.LabelStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.LabelFormatStringPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.#ctor">
            <summary>
            Default constructor, sets up default properties
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.SetActualRange(Visiblox.Charts.IRange)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.Init(System.Windows.Controls.Grid,Visiblox.Charts.AxisLocation,System.Windows.Controls.Orientation)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.DeInit">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetDataValueAsRenderPositionWithZoom(System.IComparable)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetDataValueAsRenderPositionWithZoomForContinuousValue(System.IComparable)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetDataValueAsRenderPositionWithoutZoom(System.IComparable)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetRenderPositionAsDataValueWithZoom(System.Double)">
            <inheritdoc />
            <remarks>
            If the ActualRange is null - i.e. the axis is not fully built - a null value will be returned as the data value.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetRenderPositionAsDataValueWithoutZoom(System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetZoom(System.Double,System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CreateRangeWithEffectiveLimits(Visiblox.Charts.IRange{`0})">
            <summary>
            Factory method. Returns the range type used by the axis implementation as a range with effective limits.
            Clones the <see cref="P:Visiblox.Charts.IRange.Maximum"/> and <see cref="P:Visiblox.Charts.IRange.Minimum"/> from <param name="range"/>.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.AdoptZoomAsRange">
            <summary>
            Normalises the <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> of the axis to represent the effective range of the axis with a default <see cref="P:Visiblox.Charts.AxisBase`1.Zoom"/> 
            (ie scale 1 and offset 0). Note that if <see cref="P:Visiblox.Charts.AxisBase`1.ActualRange"/> is null (which may happen if there is no <see cref="P:Visiblox.Charts.IAxisCommon.Range"/> set and
            no data on the chart from which to calculate a range) then this method will simply result in resetting the <see cref="P:Visiblox.Charts.AxisBase`1.Zoom"/>
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.TitlePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            If the Title of the axis is blank then manually collapse the axis label (AxisLabel), otherwise ensure that it's visible
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CorrectAxisLabelVisibility">
            <summary>
            If the Title of the axis is blank then manually collapse the axis label (AxisLabel), otherwise ensure that it's visible
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.OnApplyTemplate">
            <summary>
             Called whenever ApplyTemplate is called on the control.
             Sets up the graphical components of the Axis.
            </summary>
            <remarks>Subclasses must call this base implementation for correct behaviour.</remarks>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.DoInvalidate">
            <summary>
            <inheritdocs />
            Does this by recalculating the display location / visibility of the axis.
            </summary>       
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetAxisValueAsRenderPosition(System.Double)">
            <summary>
             Converts from the axis value to a current positional value, so that if this is a DateTime axis and
             you want to know the position of the current datetime then you pass DateTime.Now in to this
             function. This returns the positional value using the ActualRange.EffectiveMaximum and ActualRange.EffectiveMinimum
              so will be valid even when zoomed in.
            </summary>
            <param name="axisValue">The real value, which must be of the type TComparable</param>
            <returns>The positional double in reference to the axis for where this value is</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetDataValueAsAxisValue(`0)">
            <summary>
            Converts a data value into an arbitrary double scale. This removes the complexity of converting to/from a render position which is handled
            in <see cref="T:Visiblox.Charts.AxisBase`1"/>.
            </summary>
            <remarks>
            Converting a Data value to and from a Render position requires finding the data value relative to the current location of the left most 
            Data value and the height/width of the chart. This method is provided to remove the need to implement this boiler plate code
            and allow an implementation to simply convert the Data value into an arbitary double scale, which will be converted to a render position 
            internally.
            </remarks>
            <remarks>
            This is the inverse of <see cref="M:Visiblox.Charts.AxisBase`1.GetAxisValueAsDataValue(System.Double)"/>.</remarks>
            <example>
            A DateTime axis implementation could use the Ticks value of the DateTime passed through.
            </example>
            <example>
            A double-based axis implementation could simply return the Data value as a double.
            </example>
            <param name="dataValue">A data value.</param>
            <returns>Arbritary axis value corresponding to <paramref name="dataValue"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetAxisValueAsDataValue(System.Double)">
            <summary>
            Converts a value in the arbitrary double scale into a data value. This removes the complexity of converting to/from a 
            render position which is handled in <see cref="T:Visiblox.Charts.AxisBase`1"/>.
            </summary>
            <remarks>
            Converting a Data value to and from a Render position requires finding the data value relative to the current location of the left most 
            Data value and the height/width of the chart. This method is provided to remove the need to implement this boiler plate code
            and allow an implementation to simply convert an arbitary double scale into the Data value, which will be converted to a render position 
            internally.
            </remarks>
            <remarks>
            This is the inverse of <see cref="M:Visiblox.Charts.AxisBase`1.GetDataValueAsAxisValue(`0)"/>.</remarks>
            <example>
            A DateTime axis implementation could return the DateTime value of the number of Ticks passed through.
            </example>
            <example>
            A double-based axis implementation could simply return the double as the Data value.
            </example>
            <param name="axisValue">Arbritary axis value.</param>
            <returns>Data value corresponding to <paramref name="axisValue"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetMajorTickValues">
            <summary>
             Calculates the major tick values to be displayed, using the current effective range of the axis
            </summary>
            <seealso cref="M:Visiblox.Charts.AxisBase`1.GetMinorTickValues"/>
            <returns>A list of minor tick values.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetMinorTickValues">
            <summary>
            Calculates the minor tick values to be displayed, using the current effective range of the axis
            </summary>
            <seealso cref="M:Visiblox.Charts.AxisBase`1.GetMajorTickValues"/>
            <returns>A list of minor tick values.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.OnValueConversionChanged(System.EventArgs)">
            <summary>
            Called by a subclass to raise the <see cref="E:Visiblox.Charts.AxisBase`1.ValueConversionChanged"/> event.
            </summary>
            <param name="args">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.ComputeEffectiveRange">
            <summary>
            Re-computes <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum"/>
            on <see cref="P:Visiblox.Charts.AxisBase`1.ActualRange"/>. 
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.ComputeZoom(System.Double,System.Double)">
            <summary>
            Determines the zoom required in order for the EffectiveRange to have the given
            max / min values.
            </summary>
            <param name="max">The effective maximum value of the range to zoom in to</param>
            <param name="min">The effective minimum value of the range to zoom in to</param>
            <returns>A created zoom object</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetActualMinimumDisplayValue">
            <summary>
            Returns the display value of the beginning of the rendered range.
            This implementation returns the render position of ActualRange.Minimum.
            Override if needed to modify this value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetActualMaximumDisplayValue">
            <summary>
            Returns the display value of the end of the rendered range.
            This implementation returns the render position of ActualRange.Maximum.
            Override if needed to modify this value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.OrientationPropertyChanged">
            <summary>
            Handles when the Orientation property is changed.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.FilterTickValues(System.Collections.Generic.IList{`0},System.Collections.Generic.IList{`0})">
            <summary>
            Filters values in <paramref name="minorTicks"/> by removing values in <paramref name="majorTicks"/>, under
            the assumption that both lists are sorted, 
            </summary>
            <param name="minorTicks"></param>
            <param name="majorTicks"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetRenderPositionAsAxisValueWithoutZoom(System.Double)">
            <summary>
             Translates a Render position to an Axis value on the axis without the zoom applied.
             </summary>
             <example>
             If this axis is a <c>AxisBase&lt;DateTime&gt;</c> then it will convert the double position
             to the <see cref="T:System.DateTime"/> value converted to a double that it represents on the axis.
             </example>
            <param name="renderPosition">Render position</param>
            <returns>Aribtary Axis value of the Render position, represented as a double</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetRenderPositionAsAxisValueWithZoom(System.Double)">
            <summary>
             Translates a Render position to an Axis value on the axis with the zoom applied.
             </summary>
             <example>
             If this axis is a <c>AxisBase&lt;DateTime&gt;</c> then it will convert the double position
             to the <see cref="T:System.DateTime"/> value converted to a double that it represents on the axis.
             </example>
            <param name="renderPosition">Render position</param>
            <returns>Aribtary Axis value of the Render position, represented as a double</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.SetupLabelLayout">
            <summary>
            Sets up the layout of the axis label and tick labels containers 
            by (re)assigning their grid cells as needed.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.OnActualRangePropertyChanged">
            <summary>
            Invoked when ActualRange has changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.InvalidateGridlines">
            <summary>
            This method is responsible for removing and re-rendering grid lines.  It is called by the invalidation and
            when the size of <see cref="P:Visiblox.Charts.AxisBase`1.GridlineContainer"/> changes.  If overriding <see cref="M:Visiblox.Charts.AxisBase`1.DoInvalidate"/> make sure to 
            call InvalidateGridlines as well.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.PropertyChangedOnZoom(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
             Event handler called when a property is changed on the Zoom Property object.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.AxisSizeChanged(System.Object,System.Windows.SizeChangedEventArgs)">
            <summary>
             Event handler called when the Axis size changes
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.gridlineContainer_SizeChanged(System.Object,System.Windows.SizeChangedEventArgs)">
            <summary>
            If the Gridline container changes size, invalidate to redraw gridlines.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CreateAdditionalAxisLabels">
            <summary>
            Creates the additional axis labels
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CreateAxisTickLabels">
            <summary>
            Creates the axis labels and adds them to the visual tree
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.WidenLabelsIfStretch">
            <summary>
            This method is called by CreateAxisTickLabels after the tick labels have been placed.  
            If Stretch Alignment has been set in the direction perpendicular to the axis line then this stretches all labels to be as big as the biggest label.  
            When setting Alignment to something else after being Stretch then the size of the label doesn't correctly revert but
             - this is imperceptible unless of add a border around the axis label (which users can't do)
             - the size of the AxisPanel is unaffected
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.AddAdditionalLabelToAxis(Visiblox.Charts.AxisLabel)">
            <summary>
            Adds the passed additionally specified label to the axis. <paramref name="axisLabel"/> is not added if it
                would be outside of the bounds of the axis.
            </summary>
            <param name="axisLabel"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetHorizontalAlignmentFromValue(System.Int32)">
            <summary>
            Returns the HorizontalAlignment corresponding to the numerical value, as
            when resolving the property value it a numeric representation.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetVerticalAlignmentFromValue(System.Int32)">
            <summary>
            Returns the VerticalAlignment corresponding to the numerical value, as
            when resolving the property value it a numeric representation.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetDefaultHorizontalAlignment">
            <summary>
            Returns the default label horizontal alignment based on axis location and orientation
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GenerateAndAddLabelToAxis(`0,`0)">
            <summary>
            Generates a label that belongs to se <paramref name="majorTick"/> and adds it the axis if it can be added.
            </summary>
            <param name="majorTick"></param>
            <param name="nextMajorTick"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CanAddLabelToAxis(`0,`0,System.Boolean)">
            <summary>
            Returns whether the label at <paramref name="majorTick"/> can be added to the axis.
                A label can't be added to the axis if it's not displayable.
            </summary>
            <param name="majorTick"></param>
            <param name="nextMajorTick"></param>
            <param name="isLastTick"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.LabelFitsOnAxis(System.Windows.FrameworkElement,System.Double)">
            <summary>
            Returns whether the generated <paramref name="label"/> fits on the axis.
            It can't be added if it would hang off of the axis in the beginning or the end.
            </summary>
            <param name="label"></param>
            <param name="labelCoordinate"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CreateAxisTickLabel(System.String,System.Windows.Thickness)">
            <summary>
            Constructs an axis label with the given text. 
            </summary>
            <param name="labelText">The text to put into the label</param>
            <param name="padding">The padding of the label</param>
            <returns>The grid object that contains the label</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetDefaultTextAlignment">
            <summary>
            Returns the default label horizontal alignment based on axis location and orientation
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CreateGridlines">
            <summary>
            Creates and adds gridlines and labels to the gridline container, based on the 
            major tick values for the axis.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CreateGridStripes">
            <summary>
            Creates and adds stripes to the Gridline Container in the visual tree.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.IsFirstGridStripeWhite(System.Collections.Generic.IList{System.Collections.Generic.KeyValuePair{System.IComparable,System.Double}})">
            <summary>
            Calculates whether the first grid stripe in <paramref name="gridStripePositions"/> is to be rendered as white.
            </summary>
            <remarks>
            Performs calculation by taking ActualRange.Minimum as the "base point" that is in the beginning of a non-white stripe.
            Calculation is done either by calculating the difference between two major tick values if there are at least 4 points in <paramref name="gridStripePositions"/>
            to do so. Otherwise the previously cached points with the information of whether they're on white stripes (the _cachedGridStripeValuesAndFillings
                collection) is used to decide on this. If a decision still can't be made, true is returned.
            </remarks>
            <param name="gridStripePositions"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.GetGridStripeValuesAndPositions(System.Collections.Generic.IList{`0})">
            <summary>
            Returns the values of the grid stripes and their rendered positions based on the passed major tick values.
            Automatically generated first and last pixel values are added with null keys.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.CreateTicks">
            <summary>
             Creates and adds major/minor ticks to the Gridline Container in the visual tree
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.IsDataValueRenderableAndWithinRange(System.IComparable,System.IComparable)">
            <summary>
            Returns whether <paramref name="tickValue"/> can be plotted and is within the axis range.
            </summary> 
            <param name="tickValue">The tick value to test</param>
            <param name="continuousTickValue">The continuous tick value to test</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.PlotTicks(System.Collections.Generic.IList{`0},System.Double,System.Windows.Style)">
            <summary>
             Plots a list of ticks onto the axis, given their required size
            </summary>
            <param name="tickValues">The list of real values to plot ticks at</param>
            <param name="tickSize">The tick size as a graphical distance</param>
            <param name="tickStyle">The style to use for the tick</param>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.Range_PropertyChangedInternal(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when the PropertyChanged event has been fired on the Range
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.AdditionalLabels_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the CollectionChanged event is fired on <see cref="P:Visiblox.Charts.AxisBase`1.AdditionalLabels"/>
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisBase`1.AdditionalLabel_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Invoked when the ProperyChange event is fired on one of the additional labels.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.AutoScaleToVisibleDataProperty">
            <summary>
            Identifies the AutoScaleToVisibleData Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.ZoomProperty">
            <summary>
            Identifies the Zoom Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.LabelAngleProperty">
            <summary>
            Identifies the LabelAngle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.LabelsAutoFitProperty">
            <summary>
            Identifies the LabelsAutoFit Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.LabelsPositionProperty">
            <summary>
            Identifies the LabelsPosition Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.GridlineStyleProperty">
            <summary>
            Identifies the GridlineStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.GridStripeStyleProperty">
            <summary>
            Identifies the GridStripeStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.ShowMajorTicksProperty">
            <summary>
            Identifies the ShowMajorTicks Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.ShowMinorTicksProperty">
            <summary>
            Identifies the ShowMinorTicks Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.ShowAdditionalLabelsProperty">
            <summary>
            Identifies the ShowAdditionalLabels Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.ShowGridlinesProperty">
            <summary>
            Identifies the ShowGridlines Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.ShowGridStripesProperty">
            <summary>
            Identifies the ShowGridStripes Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.IsAutoMarginEnabledProperty">
            <summary>
            Identifies the IsAutoMarginEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.IsLabelOverflowAllowedProperty">
            <summary>
            Identifies the IsLabelOverflowAllowed Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.LabelsTickAlignmentProperty">
            <summary>
            Identifies the LabelsTickAlignment Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisBase`1.RenderingEnabledProperty">
            <summary>
            Identifies the RenderingEnabled Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.AdditionalLabels">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.AxisPanel">
            <summary>
            Gets the container for the ticks and tick labels.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.LabelsContainer">
            <summary>
            Gets the container of the axis panel.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.GridlineContainer">
            <summary>
            Gets the container that grid lines are created in.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.Location">
            <summary>
            The location of the axis with respect to the chart. Used to order the LayoutRoot columns so the
            ticks, AxisLine and title are on the correct side
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.NumberOfTicks">
            <summary>
            Gets the number of ticks to be displayed on the Axis.
            </summary>
            <remarks>Calculated based on the size of the chart in order to provide a readable and aesthetic display.
            This is not related to the data being displayed, and may be varied slightly in order to suitably subdivide the range.</remarks>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.Visiblox#Charts#IAxisCommon#ActualRange">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.Visiblox#Charts#IAxis#ActualRange">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ActualRange">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ActualLabelsTickAlignment">
            <summary>
            Gets or sets the actual tick label alignment of the axis, ie the user set value of 
            <see cref="P:Visiblox.Charts.AxisBase`1.LabelsTickAlignment"/> if one exists, otherwise the alignment assigned by the axis.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.AxisBase`1.ValueConversionChanged">
            <summary>
            Raised to indicate the render position &lt;-&gt; data value conversion has changed.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.AutoScaleToVisibleData">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.Zoom">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.LabelAngle">
            <summary>
            Gets or sets the angle of the labels, in degrees, with clockwise rotation. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.LabelsAutoFit">
            <summary>
            Gets or sets whether the labels should be positioned to avoid collision. If set to true, the labels may be alternated and rotated. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.LabelsPosition">
            <summary>
            Gets or sets where labels on the axis should be displayed. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.GridlineStyle">
            <summary>
            Gets or sets the style that is applied to the Grid lines drawn on the chart. The Style should have a TargetType of Line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.GridStripeStyle">
            <summary>
            Gets or sets the style applied to grid stripes, if shown. The Style should have a TargetType of Rectangle. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ShowMajorTicks">
            <summary>
            Gets or sets whether to show major ticks on the axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ShowMinorTicks">
            <summary>
            Gets or sets whether to show minor ticks on the axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ShowAdditionalLabels">
            <summary>
            Gets or sets whether to show additional labels on the axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ShowGridlines">
            <summary>
            Gets or sets whether the grid lines are shown on the graph for this Axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ShowGridStripes">
            <summary>
            Gets or sets whether grid stripes are shown on the chart. Grid stripes are alternating bands of colour (as if filling in between every second pair of grid lines). This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.IsAutoMarginEnabled">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.IsLabelOverflowAllowed">
            <summary>
            Gets or sets whether labels are allowed to overflow outside of their panel. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.LabelsTickAlignment">
            <summary>
            Gets or sets whether tick labels should be located beside their tick or between two ticks. Note that when tick labels are between ticks, minor ticks will not be generated regardless of the value of ShowMinorTicks. This is a Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.RenderingEnabled">
            <summary>
            Gets or sets whether rendering is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.AxisBase`1.ScalingFactorsCache">
            <summary>
            A simple value object for caching computed scaling factor values.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ScalingFactorsCache.Offset">
            <summary>
             The offset as a double that the start of the axis begins at
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ScalingFactorsCache.Factor">
            <summary>
             The factor - the graphical width or height divided by the width of the effective range as a double
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisBase`1.ScalingFactorsCache.SecondOffset">
            <summary>
             The second offset is the vertical height if the chart is vertical in order to convert from a length from Bottom property to a length from Top property
            </summary>
        </member>
        <member name="T:Visiblox.Charts.AxisCollection">
            <summary>
            Instantiation of the generic type <c>ObservableCollection&lt;IAxis&gt;</c> so that it can be used in XAML.
            </summary>
            <remarks>
            Used by <see cref="T:Visiblox.Charts.Chart"/> to represent its additional axes: <see cref="P:Visiblox.Charts.Chart.AdditionalPrimaryYAxes"/> and
            <see cref="P:Visiblox.Charts.Chart.AdditionalSecondaryYAxes"/>
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.AxisEventRelay">
            <summary>
            Relays a collection of events from <see cref="T:Visiblox.Charts.IAxis"/> .
            </summary>
            <remarks>
            <para>
            Relayed events are the following: <see cref="E:Visiblox.Charts.IAxis.ValueConversionChanged"/> and 
                property changed notifications on <see cref="P:Visiblox.Charts.IAxis.ActualRange"/>.
            </para>
            <para>
            The type of the event that is being relayed can be determined from the 
                enumeration value of <see cref="E:Visiblox.Charts.AxisEventRelay.AxisEvent"/> which is a <see cref="T:Visiblox.Charts.AxisEventEnumeration"/> 
                type enumeration.
            </para>
            <para>
            The sender of the relayed event will be the axis which originally fired the event.
            </para>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.AxisEventRelay.#ctor(Visiblox.Charts.IAxis,Visiblox.Charts.AxisEventEnumeration)">
            <summary>
            Constructor
            </summary>
            <param name="axis">The axis that's events are relayed</param>
            <param name="axisEvent">Types of axis events to be relayed</param>
        </member>
        <member name="M:Visiblox.Charts.AxisEventRelay.UnSubscribe">
            <summary>
            Unsubscribes all events from the axis it wraps
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisEventRelay.OnAxisEvent(Visiblox.Charts.IAxis,Visiblox.Charts.AxisEventEnumeration)">
            <summary>
            Relays the axis event 
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisEventRelay.Axis">
            <summary>
            Gets the axis that's event this object is forwarding
            </summary>
        </member>
        <member name="E:Visiblox.Charts.AxisEventRelay.AxisEvent">
            <summary>
            Fires whenever an event specified by the passed <see cref="T:Visiblox.Charts.AxisEventEnumeration"/> happens.
            The sender will be the axis which originally fired the event.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.AxisEventRelay.AxisEventHandler">
            <summary>
            Delegate for relay events
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="T:Visiblox.Charts.AxisEventRelayEventArgs">
            <summary>
            Contains event data for <see cref="E:Visiblox.Charts.ChartAxesEventRelay.AxisEvent"/>
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisEventRelayEventArgs.#ctor(Visiblox.Charts.AxisEventEnumeration)">
            <summary>
            Constructor
            </summary>
            <param name="axisEvent"></param>
        </member>
        <member name="P:Visiblox.Charts.AxisEventRelayEventArgs.AxisEvent">
            <summary>
            The type of event that has been fired
            </summary>
        </member>
        <member name="T:Visiblox.Charts.AxisEventEnumeration">
            <summary>
            Specifies types of events <see cref="T:Visiblox.Charts.ChartAxesEventRelay"/> can subscribe to and
                relay them
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisEventEnumeration.ValueConversion">
            <summary>
            Relays the <see cref="E:Visiblox.Charts.IAxis.ValueConversionChanged"/> event
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisEventEnumeration.ActualRangeLimitsChanged">
            <summary>
            Relays <see cref="P:Visiblox.Charts.IRange.Minimum"/> or <see cref="P:Visiblox.Charts.IRange.Maximum"/> 
                changing on <see cref="P:Visiblox.Charts.IAxis.ActualRange"/>
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisEventEnumeration.ActualRangeEffectiveLimitsChanged">
            <summary>
            Relays <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMinimum"/> or <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum"/> 
                changing on <see cref="P:Visiblox.Charts.IAxis.ActualRange"/>
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisEventEnumeration.AutoScaleToVisibleDataChanged">
            <summary>
            Relays that <see cref="P:Visiblox.Charts.IAxis.AutoScaleToVisibleData"/> has changed on an 
            <see cref="T:Visiblox.Charts.IAxis"/>
            </summary>
        </member>
        <member name="T:Visiblox.Charts.AxisInitialisationHelper">
            <summary>
            Internal class for dealing with associating X and Y axes of an IAxisAware implementation with a given chart.
            </summary>    
        </member>
        <member name="M:Visiblox.Charts.AxisInitialisationHelper.#ctor">
            <summary>
            Default Axis Manager
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisInitialisationHelper.#ctor(Visiblox.Charts.Chart,Visiblox.Charts.Primitives.IAxisAware,System.Boolean)">
            <summary>
            Initialize an AxisInitialisationHelper for the given object and chart.
            </summary>
            <param name="chart">The chart to associate the IAxisAware object with.</param>
            <param name="axisAware">The IAxisAware object to manage.</param>
            <param name="actualRangeSet">Whether axisAware requires the ActualRange to be non-null.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisInitialisationHelper.InitAxes">
            <summary>
            Initializes the axes of the IAxisAware object associated with this AxisInitialisationHelper.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisInitialisationHelper.FindBestXAxis(Visiblox.Charts.Chart,Visiblox.Charts.IAxis,System.Boolean)">
            <summary>
            Associates the given IAxis with an X Axis on the chart
            </summary>
            <param name="chart">The chart to initialise the X axis from.</param>
            <param name="axis">The axis to find the best X axis for.</param>
            <param name="actualRangeSet">Whether we need the ActualRange to be non-null.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisInitialisationHelper.FindBestYAxis(Visiblox.Charts.Chart,Visiblox.Charts.IAxis,System.Boolean)">
            <summary>
            Associates the given IAxis with a Y Axis on the chart
            </summary>
            <param name="chart">The chart to initialise the Y axis from.</param>
            <param name="axis">The axis to find the best X axis for.</param>
            <param name="actualRangeSet">Whether we need the ActualRange to be non-null.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisInitialisationHelper.IsAxisValid(Visiblox.Charts.IAxis,System.Boolean)">
            <summary>
            Checks if an axis is valid based on whether we need ActualRange to be set.
            </summary>
            <param name="axis"></param>
            <param name="actualRangeSet">Whether we need the ActualRange to be non-null.</param>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.AxisLabel">
            <summary>
            Represents a label on the axis with its position and optionally its text style
            </summary>
            <remarks>
            <para>
            The position of the label is defined by specifying the <see cref="P:Visiblox.Charts.AxisLabel.AxisValue"/>. The orientation of the label needs to be specified
                for accurate rendering via the <see cref="P:Visiblox.Charts.AxisLabel.Orientation"/> property. Horizontal and vertical aligment are specified
                using the <see cref="P:System.Windows.FrameworkElement.HorizontalAlignment"/> and <see cref="P:System.Windows.FrameworkElement.VerticalAlignment"/> properties.
            </para>
            <para>
            The <see cref="P:Visiblox.Charts.AxisLabel.ActualText"/> property is displayed on the label. This value is set by the class using the following
                priority list: <see cref="P:Visiblox.Charts.AxisLabel.Text"/>, <see cref="P:Visiblox.Charts.AxisLabel.FormattedValue"/> (this set by the axis) and <see cref="P:Visiblox.Charts.AxisLabel.AxisValue"/>.
                Thus if setting <see cref="P:Visiblox.Charts.AxisLabel.Text"/>, that value will be used, otherwise <see cref="P:Visiblox.Charts.AxisLabel.AxisValue"/> formatted by the axis.
                In order to use a format string other than set on the axis, set the <see cref="P:Visiblox.Charts.AxisLabel.FormatString"/> property.
            </para>
            <para>
            Collision detection with other labels can be turned on by setting the <see cref="F:Visiblox.Charts.AxisPanel.CheckForCollisionProperty"/>
                attached property to true via calling <see cref="M:Visiblox.Charts.AxisPanel.SetCheckForCollision(System.Windows.UIElement,System.Boolean)"/>.
            </para>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.AxisLabel.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisLabel.OnApplyTemplate">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.AxisLabel.InvalidateInternal">
            <summary>
            Refreshes the <see cref="P:Visiblox.Charts.AxisLabel.ActualText"/> property and re-calculates <see cref="P:Visiblox.Charts.AxisLabel.CalculatedWidth"/> and <see cref="P:Visiblox.Charts.AxisLabel.CalculatedHeight"/>.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisLabel.RecalculateDimensions">
            <summary>
            Recalculates <see cref="P:Visiblox.Charts.AxisLabel.CalculatedWidth"/>, <see cref="P:Visiblox.Charts.AxisLabel.CalculatedHeight"/> and sets
                the Width and Height of itself.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.AxisValueProperty">
            <summary>
            Identifies the AxisValue Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.TextProperty">
            <summary>
            Identifies the Text Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.FormattedValueProperty">
            <summary>
            Identifies the FormattedValue Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.FormatStringProperty">
            <summary>
            Identifies the FormatString Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.ActualTextProperty">
            <summary>
            Identifies the ActualText Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.OrientationProperty">
            <summary>
            Identifies the Orientation Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.BorderStyleProperty">
            <summary>
            Identifies the BorderStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.TextStyleProperty">
            <summary>
            Identifies the TextStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.FitToAxisSizeProperty">
            <summary>
            Identifies the FitToAxisSize Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.CalculatedWidthProperty">
            <summary>
            Identifies the CalculatedWidth Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.CalculatedHeightProperty">
            <summary>
            Identifies the CalculatedHeight Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabel.HideCollidingAxisLabelsProperty">
            <summary>
            Identifies the HideCollidingAxisLabels Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisLabel.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.AxisLabel.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.LayoutRoot">
            <summary>
            Gets the root visual element of the axis label
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.TextBorder">
            <summary>
            Gets the border element of the axis label
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.TextLabel">
            <summary>
            Gets the text label of the axis label
            </summary>
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.AxisValue">
            <summary>
            Gets or sets the value on the axis against which the label is plotted. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.Text">
            <summary>
            Gets or sets the text to display on the label. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.FormattedValue">
            <summary>Gets or sets the formatted form of <see cref="P:Visiblox.Charts.AxisLabel.AxisValue"/>. This value should only be set by the axis.</summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.FormatString">
            <summary>
            Gets or sets the format string to be used when rendering the label. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.ActualText">
            <summary>Gets or sets the text that is displayed on the label. Setting of this value is done automatically, whenever <see cref="P:Visiblox.Charts.AxisLabel.Text"/>, <see cref="P:Visiblox.Charts.AxisLabel.FormattedValue"/> or <see cref="P:Visiblox.Charts.AxisLabel.AxisValue"/> properties change.</summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.Orientation">
            <summary>
            Gets or sets the orientation of the label. This setting determines the layout of the label. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.BorderStyle">
            <summary>
            Gets or sets the style of the border around the label. The TargetType of this style should be Border. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.TextStyle">
            <summary>
            Gets or sets the style of the text of the label. The TargetType of this style should be TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.FitToAxisSize">
            <summary>
            Gets or sets whether the <see cref="T:Visiblox.Charts.IAxis"/> should limit the size of the label to the axis's dimensions (width for vertical axes, height for horizontal axes). This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.CalculatedWidth">
            <summary>
            Gets or sets the style of the calculated width of the label. This is set by the component based on the HorizontalAlignment settings. This property is automatically set by the AxisLabel class. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.CalculatedHeight">
            <summary>
            Gets or sets the style of the calculated height of the label. This is set by the component based on the VerticalAlignment settings. This property is automatically set by the AxisLabel class. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisLabel.HideCollidingAxisLabels">
            <summary>
            Gets or sets whether axis labels that would collide with this label should be hidden. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.AxisLabel.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.AxisLabelPosition">
            <summary>
            Defines possible positions of labels on the axis.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabelPosition.Outside">
            <summary>
            Labels are on the opposite side of the axis as the plot area. This is the most common usage.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabelPosition.Inside">
            <summary>
            Labels are rendered on the same side of the axis as the plot area.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.AxisLabelTickAlignment">
            <summary>
            Provides options to specify how axis tick labels are spaced with respect to their associated ticks.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabelTickAlignment.OnTicks">
            <summary>
            Axis labels are situated at their associated tick.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLabelTickAlignment.BetweenTicks">
            <summary>
            Axis labels are situated between their tick and the next greater tick (e.g. because they indicate a range rather than a discrete value).
            </summary>
        </member>
        <member name="T:Visiblox.Charts.AxisLocation">
            <summary>
            Enum describing possible the locations of an axis.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisLocation.Primary">
            <summary>
            Primary axis position
            </summary>
            <remarks>For a vertical axis this is on the left of the chart by default.</remarks>
        </member>
        <member name="F:Visiblox.Charts.AxisLocation.Secondary">
            <summary>
            Secondary axis position
            </summary>
            <remarks>For a vertical axis this is on the right of the chart by default.</remarks>
        </member>
        <member name="T:Visiblox.Charts.AxisPanel">
            <summary>
            Panel for rendering ticks and labels on the axis. Responsible for detecting collisions and plotting elements to avoid
                collision when this is required.
            Rendering is based on the <see cref="P:Visiblox.Charts.AxisPanel.Orientation"/>, <see cref="P:Visiblox.Charts.AxisPanel.Location"/>, <see cref="P:Visiblox.Charts.AxisPanel.LabelsPosition"/> properties
                and the <see cref="P:Visiblox.Charts.AxisPanel.AvoidChildCollision"/> and <see cref="P:Visiblox.Charts.AxisPanel.AvoidChildCollisionByRotating"/> settings.
            </summary>
            <remarks>
            <para>
            Custom logic is applied to render elements correctly on horiziontal and vertical axes (based on the <see cref="P:Visiblox.Charts.AxisPanel.Orientation"/> property),
            primary and secondary axes (based on the <see cref="P:Visiblox.Charts.AxisPanel.Location"/> property),
            and depending if labels are to be displayed inside or outside of the axis (based on the <see cref="P:Visiblox.Charts.AxisPanel.LabelsPosition"/> property).
            </para>
            <para>
            If collision is detected, elements are first displayed alternating, then rotated 90 degrees to avoid collision.
            If elements rotated are still colliding, no further steps are done.
            </para>
            <para>
            Collision detection is only done for elements that have the CheckForCollision attached property set to true.
            Typically this property is set true for labels and false for ticks by the axis that contains this panel.
            </para>
            <para>
            Collision detection is not done if <see cref="P:Visiblox.Charts.AxisPanel.AvoidChildCollision"/> is set to false. 
            Elements are not rotated to avoid collision if <see cref="P:Visiblox.Charts.AxisPanel.AvoidChildCollisionByRotating"/> is set to false.
            </para>
            <para>
            Elements are positioned to the correct location based on the CenterCoordinate attached property.
            This property defines the position where the element should be rendered parallel to the panel
            (this is the x coordinate for horizontal and y coordinate for vertical axes).
            </para>
            <para>
            </para>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetCenterCoordinate(System.Windows.UIElement)">
            <summary>
            Gets the value of the CenterCoordinate attached property
            </summary>
            <param name="element">The element to get the coordinate attached property for</param>
            <returns>The center coordinate attached property</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.SetCenterCoordinate(System.Windows.UIElement,System.Double)">
            <summary>
            Sets the value of the CenterCoordinate attached property
            </summary>
            <param name="element">The element to set the coordinate attached property for</param>
            <param name="value">Value of the center coordinate attached property</param>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.CenterCoordinateProperty">
            <summary>
            CenterCoordinate dependency property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.OnCenterCoordinatePropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            CenterCoordinateProperty property changed handler.
            </summary>
            <param name="dependencyObject">UIElement that changed its CenterCoordinate.</param>
            <param name="eventArgs">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetShiftIfInside(System.Windows.UIElement)">
            <summary>
            Gets the value of the ShiftIfInside attached property
            </summary>
            <param name="element">The element to get the ShiftIfInside property for</param>
            <returns>The ShiftIfInside attached property</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.SetShiftIfInside(System.Windows.UIElement,System.Boolean)">
            <summary>
            Sets the value of the ShiftIfInside attached property
            </summary>
            <param name="element">The element to set the ShiftIfInside attached property for</param>
            <param name="value">Value of the ShiftIfInside attached property</param>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.ShiftIfInsideProperty">
            <summary>
            ShiftIfInside dependency property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.OnShiftIfInsidePropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            ShiftIfInsideProperty property changed handler.
            </summary>
            <param name="dependencyObject">UIElement that changed its ShiftIfInside value.</param>
            <param name="eventArgs">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetCheckForCollision(System.Windows.UIElement)">
            <summary>
            Gets the value of the CheckForCollision attached property
            </summary>
            <param name="element">The element to get the coordinate attached property for</param>
            <returns>The center coordinate attached property</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.SetCheckForCollision(System.Windows.UIElement,System.Boolean)">
            <summary>
            Sets the value of the CheckForCollision attached property
            </summary>
            <param name="element">The element to set the coordinate attached property for</param>
            <param name="value">Value of the center coordinate attached property</param>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.CheckForCollisionProperty">
            <summary>
            CheckForCollision dependency property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.OnCheckForCollisionPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            CheckForCollisionProperty property changed handler.
            </summary>
            <param name="dependencyObject">UIElement that changed its CheckForCollision.</param>
            <param name="eventArgs">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetPosition(System.Windows.UIElement)">
            <summary>
            Gets the value of the Position attached property
            </summary>
            <param name="element">The element to get the coordinate attached property for</param>
            <returns>The center coordinate attached property</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.SetPosition(System.Windows.UIElement,Visiblox.Charts.AxisLabelPosition)">
            <summary>
            Sets the value of the Position attached property
            </summary>
            <param name="element">The element to set the coordinate attached property for</param>
            <param name="value">Value of the center coordinate attached property</param>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.PositionProperty">
            <summary>
            Position dependency property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.OnPositionPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            PositionProperty property changed handler.
            </summary>
            <param name="dependencyObject">UIElement that changed its Position.</param>
            <param name="eventArgs">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetIsElementHidden(System.Windows.UIElement)">
            <summary>
            Gets the value of the IsElementHidden attached property
            </summary>
            <param name="element">The element to get the coordinate attached property for</param>
            <returns>The center coordinate attached property</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.SetIsElementHidden(System.Windows.UIElement,System.Boolean)">
            <summary>
            Sets the value of the IsElementHidden attached property
            </summary>
            <param name="element">The element to set the coordinate attached property for</param>
            <param name="value">Value of the center coordinate attached property</param>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.IsElementHiddenProperty">
            <summary>
            Determines whether the element should be hidden on the panel
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.OnIsElementHiddenPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            IsElementHiddenProperty property changed handler.
            </summary>
            <param name="dependencyObject">UIElement that changed its IsElementHidden.</param>
            <param name="eventArgs">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.MeasureOverride(System.Windows.Size)">
            <summary>
            Measures children and determines necessary size.
            </summary>
            <param name="availableSize">Available size</param>
            <returns>Necessary size</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.ConvertDegreesToRadians(System.Double)">
            <summary>
            Convert degrees to radians to use when determining height of AxisPanel with rotated labels.
            </summary>
            <param name="degrees"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.MeasurePanelSize">
            <summary>
            Returns the size of the panel
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.ArrangeOverride(System.Windows.Size)">
            <summary>
            Arranges children of the panel according to position
            </summary>
            <param name="finalSize">Final size of the panel</param>
            <returns>Final size of the control</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetAdjustedParallelOffset(System.Windows.FrameworkElement,System.Double,System.Double,System.Boolean)">
             <summary>
             Adjusts the parallel offset on the two sides of the panel.
             </summary>
             <remarks>
             Ticks displayed at the very beginning and very end of the axis seem to be off by an axis.
             This method corrects this behaviour.
             </remarks>
            
             <param name="element">The element being adjusted</param>
             <param name="parallelOffset">Offset of the element (parallel with the axis)</param>
             <param name="panelParallelLength">Length of the axis panel (parallel with the axis)</param>
             <param name="isCollisionDetection">Whether collision detection is done for the element (basically whether it's a label)</param>
             <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetAdjustedPerpendicularOffset(System.Windows.FrameworkElement,System.Double,System.Double,System.Double,System.Boolean)">
            <summary>
            Adjusts the perpendicular offset in special cases.
            </summary>
            <remarks>
            In Silverlight the panel has a hidden padding that needs to be compensated.
            This axis fixes this issue for the horizontal axis.
            </remarks>
            <param name="element">The element that's offset needs to be fixed</param>
            <param name="perpendicularOffset">Offset of the element (perpendicular with the axis)</param>
            <param name="panelPerpendicularLength">The perpendicular size of the panel</param>
            <param name="elementPerpendicularLength">The perpendicular size of the element</param>
            <param name="onOutside">True when we're handling collisions by alternating labels and this element is a label on positioned away from the axis</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.CanDisplayElement(System.Double,System.Double,System.Double)">
            <summary>
            Returns whether an element with the specified dimensions can be displayed on the panel
            </summary>
            <param name="parallelOffset">Offset of the element (parallel with the axis)</param>
            <param name="parallelLength">Length of the element (parallel with the axis)</param>
            <param name="panelParalellLength">Length of the axis panel (parallel with the axis)</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetAlignedPerpendicularOffset(System.Double,System.Windows.FrameworkElement,System.Double,System.Double)">
            <summary>
            Gets the perpendicular offset of the element that may be defined by the alignment settings.
            </summary>
            <param name="perpendicularOffset">The original perpendicularOffset before the calculation. 
            This value is returned if no alignment is applied to the element.</param>
            <param name="element"></param>
            <param name="panelPerpendicularLength">Panel's length in the dimension perpendicular to the axis</param>
            <param name="perpendicularLength">Length of the element in the dimension perpendicular to the axis</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.RotateElementBy90Degrees(System.Windows.UIElement,System.Double,System.Double)">
            <summary>
            Rotates the element by 90 degrees and shifts it so the top of the element is at the same position as before.
            </summary>
            <param name="element">The element to rotate</param>
            <param name="parallelLength">Length of the element's side that's parallel with the axis</param>
            <param name="perpendicularLength">Length of the element's side that's perpendicular with the axis</param>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.SetCorrectedAlignment(System.Windows.UIElement)">
            <summary>
            Sets updated label alignment.
            </summary>
            <param name="element"></param>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.IsCollision">
            <summary>
            Returns whether any of the labels would collide with each other
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.IsCollisionWithAlternation">
            <summary>
            Returns whether any of the labels would collide with each other even when alternating
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.ConvertAngleToStandardRange(System.Double)">
            <summary>
            Converts the given angle in degrees to a positive value in the range 0 - 360
            </summary>
            <param name="angle"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetRotationAngle(System.Windows.UIElement)">
            <summary>
            Gets the rotation transform applied to a given element.
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.ElementsCollide(System.Windows.UIElement,System.Windows.UIElement)">
            <summary>
            Returns whether the two elements collide
            </summary>
            <param name="element1"></param>
            <param name="element2"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetCorrectedDesiredSize(System.Windows.UIElement)">
            <summary>
            Gets the "corrected" DesiredSize (for Line instances); one that is
            more consistent with how the elements actually render.
            </summary>
            <param name="element">UIElement to get the size for.</param>
            <returns>Corrected size.</returns>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.GetCenterCoordinate(Visiblox.Charts.AxisPanel,System.Windows.UIElement)">
            <summary>
            Gets the corrected centre coordinate of the element within the panel 
            taking overflow restrictions into account
            </summary>
            <param name="panel"></param>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.AvoidChildCollisionByRotatingProperty">
            <summary>
            Identifies the AvoidChildCollisionByRotating Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.AvoidChildCollisionProperty">
            <summary>
            Identifies the AvoidChildCollision Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.OrientationProperty">
            <summary>
            Identifies the Orientation Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.LocationProperty">
            <summary>
            Identifies the Location Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.LabelsPositionProperty">
            <summary>
            Identifies the LabelsPosition Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AxisPanel.LabelOverflowAllowedProperty">
            <summary>
            Identifies the LabelOverflowAllowed Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AxisPanel.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.AxisPanel.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.AxisPanel.AvoidChildCollisionByRotating">
            <summary>
            Gets or sets whether labels should rotated to avoid collision. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisPanel.AvoidChildCollision">
            <summary>
            Gets or sets whether child collision should be avoided. If set to true, children that would collide and have the <see cref="F:Visiblox.Charts.AxisPanel.CheckForCollisionProperty"/> attached property set to true will be positioned to attempt to avoid colliding. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisPanel.Orientation">
            <summary>
            Gets or sets the orientation of the axis panel. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisPanel.Location">
            <summary>
            Gets or sets the localtion of the axis panel. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisPanel.LabelsPosition">
            <summary>
            Gets or sets the position of labels on the axis panel. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.AxisPanel.LabelOverflowAllowed">
            <summary>
            Gets or sets whether overflow of labels is allowed on the panel. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.AxisPanel.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BusinessHoursMode">
            <summary>
            Defines a business hours calculation mode.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BusinessHoursMode.Daily">
            <summary>
            Included/excluded hours are defined by a daily start and end time, and weekend days are defined separately. Weekly start and end days/times are ignored.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BusinessHoursMode.Weekly">
            <summary>
            A single included period is defined per week by a weekly start day/time and end day/time. Daily start/end hours and weekend days are ignored.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.CategoryAxis">
            <summary>
            Represents an axis where the values are discrete categories.
            </summary>
            <remarks>
            <para>
            CategoryAxis will show a major tick for each distinct category plotted against it, and no minor ticks. 
            This is often used in bar and column charts, and more generally wherever the axis labels are 
            discrete values which should not be subdivided in any way, and do not necessarily have an order.
            </para>
            <para>
            The <see cref="T:Visiblox.Charts.CategoryRange"/> determines the set of categories, and their ordering,
            if this is not specified the categories will be taken from the data values in their series order.
            </para>
            <para>
            By default margins are displayed on the axis, these can be turned off by setting
            <see cref="P:Visiblox.Charts.IAxis.IsAutoMarginEnabled"/> to false.
            It is recommended to do so e.g. when using <see cref="T:Visiblox.Charts.StackedLineSeries"/> on the chart.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.CategoryRange"/>
            <seealso cref="T:Visiblox.Charts.DateTimeAxis"/>
            <seealso cref="T:Visiblox.Charts.LinearAxis"/>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.CreateRange">
            <summary>
            Creates a <see cref="T:Visiblox.Charts.CategoryRange"/>.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.AdoptZoomAsRange">
            <summary>
            This functionality is not supported on the CategoryAxis and will not result in any action.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.GetMajorTickValues">
            <summary>
             Returns the major tick values (all categories within the effective range).
            </summary>
            <returns>A collection of all categories within the effective range.</returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.GetMinorTickValues">
            <summary>
             Returns the minor tick values (none).
            </summary>
            <returns>An empty list</returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.GetAxisValueAsDataValue(System.Double)">
            <summary>
            Transforms a display value on the axis to a value within the continuous value range.
            Since the continuous value range is a double range, no logic is applied in this method.
            </summary>
            <param name="axisValue">Axis value.</param>
            <returns><paramref name="axisValue"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.GetDataValueAsAxisValue(System.IComparable)">
            <summary>
            Transforms a value within the continuous value range to the display value on the axis.
            Since the continuous value range is a double range, this only means casting to double.
            </summary>
            <param name="continuousValue">Value within the continuous value range.</param>
            <returns><paramref name="continuousValue"/> cast to double.</returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.GetActualMaximumDisplayValue">
            <summary>
            Adds an extra padding to the first displayed category.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.GetActualMinimumDisplayValue">
            <summary>
            Adds an extra padding to the last displayed category.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.GetFormattedDataValueInternal(System.IComparable,System.String)">
            <summary>
            Returns the appropriate category's string representation.
            </summary>
            <param name="dataValue">Data value</param>
            <param name="formatString">The format string</param>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.CategoryItem_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when the category item has changed.
            </summary>
            <remarks>
            Calling this method results in the axis being invalidated.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.OnActualRangePropertyChanged">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.ActualRange_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Invoked when a property of the ActualRange has changed
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.Categories_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the Categories collection on ActualRange has changed
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.OnCategoriesChanged">
            <summary>
            Invoked when the Categories collection has changed, to cause the chart to rerender series etc. against the axis.
            Updates the effective range, invalidate the axis, and notify the chart.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.CreateRangeWithEffectiveLimits(Visiblox.Charts.IRange{System.IComparable})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.CategoryAxis.IsDataValueRenderable(System.IComparable)">
            <inheritdoc/>
        </member>
        <member name="F:Visiblox.Charts.CategoryAxis.SortOrderProperty">
            <summary>
            Identifies the SortOrder Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryAxis.Categories">
            <summary>
            Gets or sets the categories of the axis.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryAxis.ActualCategoryRange">
            <summary>
            Wrapper for <see cref="P:Visiblox.Charts.AxisBase`1.ActualRange"/> casting to <see cref="T:Visiblox.Charts.CategoryRange"/>.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryAxis.SortOrder">
            <summary>
            Gets or sets the sort order of the category labels. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.ChartAxesEventRelay">
            <summary>
            Relays events from the X, Y and secondary Y axes of the chart on to an object which has no notion of these components.
            </summary>
            <remarks>
            <para>
            Relayed events are the following: <see cref="E:Visiblox.Charts.IAxis.ValueConversionChanged"/> and 
                property changed notifications on <see cref="P:Visiblox.Charts.IAxis.ActualRange"/>.
            </para>
            <para>
            The type of the event that is being relayed can be determined from the 
                enumeration value of <see cref="E:Visiblox.Charts.ChartAxesEventRelay.AxisEvent"/> which is a <see cref="T:Visiblox.Charts.AxisEventEnumeration"/> 
                type enumeration.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.AxisEventRelay"/>
        </member>
        <member name="M:Visiblox.Charts.ChartAxesEventRelay.#ctor(Visiblox.Charts.Chart,Visiblox.Charts.AxisEventEnumeration)">
            <summary>
            Constructor
            </summary>
            <param name="chart">The chart object</param>
            <param name="axisEvent">Types of axis events to be relayed</param>
        </member>
        <member name="M:Visiblox.Charts.ChartAxesEventRelay.UnSubscribe">
            <summary>
            Unsubcribes all event subscriptions from the passed <see cref="T:Visiblox.Charts.Chart"/> instance.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartAxesEventRelay.Chart_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a property on a chart changes, we want to check whether the axis has changed - resubscribing to events if it has.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartAxesEventRelay.OnAxisEvent(Visiblox.Charts.IAxis,Visiblox.Charts.AxisEventEnumeration)">
            <summary>
            Relays the axis event 
            </summary>
        </member>
        <member name="E:Visiblox.Charts.ChartAxesEventRelay.AxisEvent">
            <summary>
            Fires whenever an event specified by the passed <see cref="T:Visiblox.Charts.AxisEventEnumeration"/>
                happens.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.ChartAxesEventRelay.AxisEventHandler">
            <summary>
            Delegate for relay events
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="T:Visiblox.Charts.DateTimeAxis">
            <summary>
            Represents an axis where the values are of <see cref="T:System.DateTime"/> type.
            </summary>
            <remarks>
            <para>This is the default axis type which the chart will create automatically where the data consists 
            of <see cref="T:System.DateTime"/> values, but will often be explicitly created by the chart user 
            in order to set the various axis properties.</para>
            <para>By default this axis formats labels according to the <see cref="P:Visiblox.Charts.DateTimeAxis.MajorTickIntervalType"/> (which if not specified is calculated from the axis range).
            This means that when the chart is showing years of data, the labels will show the year, 
            but if the visible data is in a range of around a day, hours will be shown on the labels. 
            In addition, when the data range is small labels are periodically replaced by labels at a higher scale, 
            so that for example when only hours are visible the midnight label may also display the date at that point. 
            This behaviour can be customised by replacing the <see cref="P:Visiblox.Charts.DateTimeAxis.DateFormatter"/>, or a single format for 
            all scales can be set using the <see cref="P:Visiblox.Charts.AxisCommonBase`1.LabelFormatString"/> 
            (which takes precedence over the <see cref="P:Visiblox.Charts.DateTimeAxis.DateFormatter"/> if set).</para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.AxisBase`1"/>
            <seealso cref="T:Visiblox.Charts.LinearAxis"/>
            <seealso cref="T:Visiblox.Charts.CategoryAxis"/>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.#ctor">
            <summary>
             Default constructor to create a DateTimeAxis.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.CreateRange">
            <summary>
            Creates a <see cref="T:Visiblox.Charts.DateTimeRange"/>.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.GetMajorTickValues">
            <summary>
             Generates and returns the <see cref="T:System.DateTime"/>  values at which a major tick occurs for the axis.
            </summary>
            <returns>The generated <see cref="T:System.DateTime"/> values</returns>
            <seealso cref="M:Visiblox.Charts.DateTimeAxis.GetMinorTickValues"/>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.GetMinorTickValues">
            <summary>
             Generates and returns the <see cref="T:System.DateTime"/> values at which minor ticks occur for the axis.
            </summary>
            <returns>The generated <see cref="T:System.DateTime"/> values</returns>
            <seealso cref="M:Visiblox.Charts.DateTimeAxis.GetMajorTickValues"/>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.GetDataValueAsAxisValue(System.DateTime)">
            <summary>
            Converts the passed DateTime <paramref name="dataValue"/> to a double value.
            </summary>
            <param name="dataValue"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.GetAxisValueAsDataValue(System.Double)">
            <summary>
            Transforms a display value on the axis to a value within the continuous value range.
            Since the continuous value range is a DateTime range, this means transforming the passed double to a DateTime.
            </summary>
            <param name="axisValue"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.ComputeActualInterval">
            <summary>
             Overrides <see cref="M:Visiblox.Charts.AxisCommonBase`1.ComputeActualInterval"/> in order to calculate 
             the tick interval to be shown when the interval changes. 
             This is called every invalidate <strong>before</strong> ticks are generated.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.ComputeActualIntervalType">
            <summary>
            Calculates <see cref="P:Visiblox.Charts.DateTimeAxis.ActualMajorTickIntervalType"/>.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.GetFormattedDataValueInternal(System.DateTime,System.String)">
            <summary>
             Implements the formatting of axis labels for <see cref="T:System.DateTime"/>s, by using <see cref="P:Visiblox.Charts.AxisCommonBase`1.LabelFormatString"/> if present,
             or otherwise the <see cref="P:Visiblox.Charts.DateTimeAxis.DateFormatter"/>, which may implement a "smart" formatting algorithm based upon the visible data range.
            </summary>
            <param name="value">The date time to format</param>
            <param name="formatString">The format string to use</param>
            <returns>A formatted string</returns>
            <seealso cref="M:Visiblox.Charts.DateTimeAxisInterval.FormatValue(System.DateTime)"/>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.CreateRangeWithEffectiveLimits(Visiblox.Charts.IRange{System.DateTime})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxis.GetDateTimeKindFromRange(Visiblox.Charts.IRangeWithEffectiveLimits{System.DateTime})">
            <summary>
            Finds out what the DateTimeKind is on the ActualRange supplied and applies that to the specified date time
            </summary>
            <param name="actualRange">The actual range (passed in for performance reasons)</param>
            <returns>The DateTimeKind to use</returns>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxis.MajorTickIntervalTypeProperty">
            <summary>
            Identifies the MajorTickIntervalType Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxis.MinorTickIntervalTypeProperty">
            <summary>
            Identifies the MinorTickIntervalType Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxis.ActualMajorTickIntervalType">
            <summary>
            Gets the actual interval type at which ticks are drawn on the axis.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxis.ActualMinorTickIntervalType">
            <summary>
            Gets the actual interval type at which minor ticks are drawn on the axis.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxis.DateFormatter">
            <summary>
            Determines the strategy used to format date/time labels, when a format string is not explicitly set.
            </summary>
            <remarks>
            The default is a "smart" strategy which periodically replaces values with ones formatted at a larger scale, 
            e.g. replacing midnight with the date when numbering in hours. Note that this only takes effect if the 
            axis has no explicitly set format string, if both are set the format string will take precedence.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxis.MajorTickIntervalType">
            <summary>
            Gets or sets the axis interval, used to mark the major ticks. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxis.MinorTickIntervalType">
            <summary>
            Gets or sets the axis minor interval, used to mark the minor ticks. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.DateTimeAxisInterval">
            <summary>
             Represents DateTime intervals and provides utility functions related to these.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisInterval._formatString">
            <summary>
             The format string to apply to the datetime
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.#ctor(Visiblox.Charts.DateTimeAxisIntervalSpan,System.String,System.Boolean,System.Func{System.DateTime,System.DateTimeKind,System.DateTime})">
            <summary>
             Constructs an instance of this class with the specified parameters
            </summary>
            <param name="intervalSpan">The interval that this class will represent</param>
            <param name="formatString">
            	<para>
            	The format string to format the time as - parameter 0 is the date time and parameter 1 is the quarter.
            	</para>
            	<para>
            	 E.g. "Q{1} {0:dd/MM/yyyy}" might format a string as "Q2 15/04/2009"
            	</para>
            </param>
            <param name="labelsOnTicks">Whether the labels should be centred for this interval</param>
            <param name="alignToDate">
            	A function that aligns a datetime to the current interval
            	<see cref="M:Visiblox.Charts.DateTimeAxisInterval.AlignToInterval(System.DateTime,System.DateTimeKind)"/>
            </param>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.GetPreviousInterval(Visiblox.Charts.DateTimeAxisIntervalSpan)">
            <summary>
             Gets the next smallest interval, so if the passed interval is Minutes, this will return Seconds
            </summary>
            <param name="interval">The interval with which to find the previous interval</param>
            <returns>The previous interval to the one passed</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.GetNextInterval(Visiblox.Charts.DateTimeAxisIntervalSpan)">
            <summary>
            Obtains the next interval in order of increasing length of time.
            </summary>
            <param name="interval">The interval to use to find the next interval</param>
            <returns>The next interval after (larger than) the parameter interval</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.AlignToInterval(System.DateTime,System.DateTimeKind)">
            <summary>
             <para>
             Rounds a given date time down to the next interval
             </para>
             <para>
              E.g. If the interval is 15 minutes and 20/10/2009 14:10 is given then this will return 20/10/2009 14:00
             </para>
            </summary>
            <param name="time">The DateTime to align</param>
            <param name="kind">The DateTimeKind to use to create the new aligned date time</param>
            <returns>An aligned datetime</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.FormatValue(System.DateTime)">
            <summary>
             Formats a given datetime according to the current interval - If the interval is yearly then there is no need to
             display the number of seconds for instance.
            </summary>
            <param name="time">The date time to format</param>
            <returns>The formatted date time as a string</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.Increment(System.DateTime,System.Int32)">
            <summary>
             Increment gets the next DateTime by adding the interval on to the passed date time
            </summary>
            <param name="time">The datetime to increment</param>
            <param name="interval">The number to increment the datetime by</param>
            <returns>The date time that has had the interval added on</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.Decrement(System.DateTime)">
            <summary>
             Decrement gets the next DateTime by decrementing the interval on the date time argument
            </summary>
            <param name="time">The datetime to decrement</param>
            <returns>The date time that has had the interval added on</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisInterval.Clone">
            <summary>
            Deep copies the object
            </summary>
            <returns>The cloned object</returns>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisInterval.FormatString">
            <summary>
            Gets or sets the FormatString
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisInterval.Span">
            <summary>
             <para>
            	Gets the interval span enumeration value this represents.
             </para>
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisInterval.Seconds">
            <summary>
             Gets the total number of seconds that this interval span represents. 
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisInterval.LabelsPosition">
            <summary>
             Gets whether the labels for this type of interval should be centred or not.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.DateTimeAxisIntervalFactory">
            <summary>
            Factory class creating <see cref="T:Visiblox.Charts.DateTimeAxisInterval"/> objects
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisIntervalFactory.GetStartOfWeek(System.DateTime,System.DateTimeKind)">
            <summary>
            Creates a DateTime instance which is at the start of the
            week which contains the current DateTime instance
            </summary>
            <param name="time"></param>
            <param name="kind"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisIntervalFactory.SubtractYearsSafely(System.DateTime,System.Int32)">
            <summary>
            Subtracts given years from the passed DateTime making sure that the returned DateTime is valid
            (not smaller than DateTime.MinValue)
            </summary>
            <param name="value">Original DateTime</param>
            <param name="numberOfYears">Number of years to subtract</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeAxisIntervalFactory.Create(Visiblox.Charts.DateTimeAxisIntervalSpan)">
            <summary>
             Converts the interval enumeration value to its corresponding class
            </summary>
            <param name="interval">The interval the returning class should represent</param>
            <returns>The correct interval</returns>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Second">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one second
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.FiveSecond">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one second
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.TenSecond">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one second
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Minute">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one minute
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.FiveMinute">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one minute
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.FifteenMinute">
            <summary>
             Returns a DateTimeAxisInterval representing a span of fifteen minutes
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Hour">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one hour
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.FourHour">
            <summary>
             Returns a DateTimeAxisInterval representing a span of four hours
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.EightHour">
            <summary>
             Returns a DateTimeAxisInterval representing a span of four hours
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Day">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one day
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Week">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one week
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.TwoWeek">
            <summary>
             Returns a DateTimeAxisInterval representing a span of two weeks
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Month">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one month
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Quarter">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one quarter of a year
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.Year">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one year
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.YearFive">
            <summary>
             Returns a DateTimeAxisInterval representing a span of five years
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.YearTen">
            <summary>
             Returns a DateTimeAxisInterval representing a span of ten years
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.YearFifty">
            <summary>
             Returns a DateTimeAxisInterval representing a span of fifty years
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.YearHundred">
            <summary>
             Returns a DateTimeAxisInterval representing a span of one hundred years
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.YearFiveHundred">
            <summary>
             Returns a DateTimeAxisInterval representing a span of a year
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.YearThousand">
            <summary>
             Returns a DateTimeAxisInterval representing a span of a year
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DateTimeAxisIntervalFactory.YearFiveThousand">
            <summary>
             Returns a DateTimeAxisInterval representing a span of a year
            </summary>
        </member>
        <member name="T:Visiblox.Charts.DateTimeAxisIntervalSpan">
            <summary>
             An enumeration describing a date time interval. 
             Each of the values corresponds to the number of seconds in each span.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Undefined">
            <summary>
            Represents an undefined time span period.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Seconds">
            <summary>
             Represents a time span period of a second
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FiveSeconds">
            <summary>
             Represents a time span period of 5 seconds
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.TenSeconds">
            <summary>
             Represents a time span period of 10 seconds
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Minutes">
            <summary>
             Represents a time span period of a minute
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FiveMinutes">
            <summary>
             Represents a time span period of 5 minutes
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FifteenMinutes">
            <summary>
             Represents a time span period of 15 minutes
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Hours">
            <summary>
             Represents a time span period of an hour
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FourHours">
            <summary>
             Represents a time span period of 4 hours
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.EightHours">
            <summary>
             Represents a time span period of 8 hours
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Days">
            <summary>
             Represents a time span period of a day
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Weeks">
            <summary>
             Represents a time span period of a week
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.TwoWeeks">
            <summary>
             Represents a time span period of two weeks
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Months">
            <summary>
             Represents a time span period of a month
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Quarters">
            <summary>
             Represents a time span period of a quarter
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.Years">
            <summary>
             Represents a time span period of a year
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FiveYears">
            <summary>
             Represents a time span period of five years
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.TenYears">
            <summary>
             Represents a time span period of a ten years
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FiftyYears">
            <summary>
             Represents a time span period of a 50 years
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.HundredYears">
            <summary>
             Represents a time span period of a 100 years
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FiveHundredYears">
            <summary>
             Represents a time span period of a 500 years
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.ThousandYears">
            <summary>
             Represents a time span period of a 1000 years
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DateTimeAxisIntervalSpan.FiveThousandYears">
            <summary>
             Represents a time span period of a 5000 years
            </summary>
        </member>
        <member name="T:Visiblox.Charts.ArgumentValidation">
            <summary>
            Internal class to use to check method arguments before entering logic.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertNotNull(System.Object,System.String)">
            <summary>
            Check if the argument is null. If the argument is null, an ArgumentNullException will be thrown.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="argumentName">Name to include in the exception</param>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertAreEqual(System.Object,System.Object,System.String,System.String)">
            <summary>
            Checks if the argument is equal to the expected value. If the argument is not equal to the expected value, an ArgumentException is thrown.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="expectedValue">Value to check the argument against</param>
            <param name="argumentName">Name to include in the exception</param>
            <param name="expectedValueName">Name to include in the exception</param>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertAreNotEqual(System.Object,System.Object,System.String,System.String)">
            <summary>
            Checks if the argument is not equal to the expected value. If the argument is equal to the expected value, an ArgumentException is thrown.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="expectedValue">Value to check the argument against</param>
            <param name="argumentName">Name to include in the exception</param>
            <param name="expectedValueName">Name to include in the exception</param>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertIsLessThan(System.IComparable,System.IComparable,System.String,System.String)">
            <summary>
            Check if the argument is less than the bound. If the argument is greater than or equal to the bound, an ArgumentOutOfRangeException is thrown.
            Note: This method does not take place of AssertNotNull, which should be called explicitly if necessary.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="bound">The bound which the argument must be less than</param>
            <param name="argumentName">Name to include in the exception</param>
            <param name="boundName">Name to include in the exception</param>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertIsLessThanOrEqualTo(System.IComparable,System.IComparable,System.String,System.String)">
            <summary>
            Check if the argument is less than or equal to the bound. If the argument is greater than the bound, an ArgumentOutOfRangeException is thrown.
            Note: This method does not take place of AssertNotNull, which should be called explicitly if necessary.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="bound">The bound which the argument must be less than</param>
            <param name="argumentName">Name to include in the exception</param>
            <param name="boundName">Name to include in the exception</param>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertIsGreaterThan(System.IComparable,System.IComparable,System.String,System.String)">
            <summary>
            Check if the argument is greater than the bound. If the argument is less than or equal to the bound, an ArgumentOutOfRangeException is thrown.
            Note: This method does not take place of AssertNotNull, which should be called explicitly if necessary.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="bound">The bound which the argument must be less than</param>
            <param name="argumentName">Name to include in the exception</param>
            <param name="boundName">Name to include in the exception</param>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertIsGreaterThanOrEqualTo(System.IComparable,System.IComparable,System.String,System.String)">
            <summary>
            Check if the argument is greater than or equal to the bound. If the argument is less than the bound, an ArgumentOutOfRangeException is thrown.
            Note: This method does not take place of AssertNotNull, which should be called explicitly if necessary.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="bound">The bound which the argument must be less than</param>
            <param name="argumentName">Name to include in the exception</param>
            <param name="boundName">Name to include in the exception</param>
        </member>
        <member name="M:Visiblox.Charts.ArgumentValidation.AssertIsOfType(System.Object,System.Type,System.String,System.Boolean)">
            <summary>
            Checks if the argument is of (or extends - if checkInheritance is true) the type. If the argument is not of (or does not extend - if checkInheritance is true)
            the type, an ArgumentException is thrown.
            Note: This method does not take place of AssertNotNull, which should be called explicitly if necessary.
            </summary>
            <param name="argument">Argument to check</param>
            <param name="type">Type to check the argument against</param>
            <param name="argumentName">Name to include in the exception</param>
            <param name="checkInheritance">Whether the classes this argument extends from should be checked or not</param>
        </member>
        <member name="T:Visiblox.Charts.LinearAxis">
            <summary>
             Represents a linear axis which is used to display numeric values.
            </summary>
            <remarks>
            <para>This class represents an axis whose value type is numeric, represented by <see cref="T:System.Double"/>s, with a linear scale.
            </para>
            <para>This is the default axis type which the chart will create automatically where the data is numeric, 
            but will often be explicitly created by the chart user in order to set the various axis properties.</para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.AxisBase`1"/>
            <seealso cref="T:Visiblox.Charts.DateTimeAxis"/>
            <seealso cref="T:Visiblox.Charts.CategoryAxis"/>
        </member>
        <member name="T:Visiblox.Charts.NumericAxisBase">
            <summary>
            Represents a base class for axes with a numeric value type.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.NumericAxisBase.#ctor">
            <summary>
             Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.NumericAxisBase.CreateRange">
            <summary>
            Creates a <see cref="T:Visiblox.Charts.DoubleRange"/>.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.NumericAxisBase.GetDataValueAsAxisValue(System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.NumericAxisBase.GetAxisValueAsDataValue(System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.NumericAxisBase.CreateRangeWithEffectiveLimits(Visiblox.Charts.IRange{System.Double})">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.LinearAxis.GetMajorTickValues">
            <summary>
             Returns list of major tick values for this axis 
             by calculating the tick spacing and applying it to the effective range.
            </summary>
            <returns>A list of values where major ticks are</returns>
        </member>
        <member name="M:Visiblox.Charts.LinearAxis.GetMinorTickValues">
            <summary>
             Returns list of values at which minor ticks occur 
             (by default twice as often as major ticks).
            </summary>
            <returns>A list of values where minor ticks are</returns>
        </member>
        <member name="M:Visiblox.Charts.LinearAxis.RemoveNoiseFromDouble(System.Double)">
            <summary>
            Removes the noise from  a double value       
            </summary>
            <param name="value">The value.</param>
            <returns>A double without a noise.</returns>
        </member>
        <member name="M:Visiblox.Charts.LinearAxis.ComputeActualInterval">
            <summary>
            Calculates <see cref="P:Visiblox.Charts.AxisCommonBase`1.ActualMajorTickInterval"/> to produce a suitably
            rounded interval.
            </summary>
            <remarks>The most appropriate interval is chosen from the sequence ..., 1, 2.5, 5, 10, 25, ...</remarks>
        </member>
        <member name="M:Visiblox.Charts.LinearAxis.EstimateRoundness(System.Double)">
            <summary>
            Provides an approximation of how "round" a number is, by returning the number of places the decimal
            point must be shifted before the fractional part is zero (within a tolerance epsilon). A value of 
            1 - log_10(epsilon)  (ie 6) indicates the number should not be considered round, lower values indicate
            more round values.
            </summary>
            <param name="x">Number in normalised form (0&lt;=x&lt;10).</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LinearAxis.Normalise(System.Double)">
            <summary>
            Return base-10 significand of <paramref name="x"/> (discarding exponent).
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LinearAxis.AlignToInterval(System.Double,System.Double)">
            <summary>
            Rounds a given value up to the next interval
            </summary>
            <remarks>
              E.g. If the interval is 5.0 and 11.82 is given then this will return 15.0
            </remarks>
            <param name="value">The value to align to the interval.</param>
            <param name="interval">The interval to align to.</param>
            <returns>The aligned value.</returns>
        </member>
        <member name="T:Visiblox.Charts.LogarithmicAxis">
            <summary>
            Represents a logarithmic axis which is used to display numeric values. Note: A value less than or equal to 0 cannot be displayed on a logarithmic scale.
            </summary>
            <remarks>
            <para>This class represents an axis whose value type is numeric, represented by <see cref="T:System.Double"/>s, with a logarithmic scale.
            </para>
            <para>Note: A value less than or equal to 0 cannot be displayed on a logarithmic scale. IsAutoMarginEnabled must also be false.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.LinearAxis"/>
            <seealso cref="T:Visiblox.Charts.DateTimeAxis"/>
            <seealso cref="T:Visiblox.Charts.CategoryAxis"/>
        </member>
        <member name="M:Visiblox.Charts.LogarithmicAxis.GetAxisValueAsDataValue(System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.LogarithmicAxis.GetDataValueAsAxisValue(System.Double)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.LogarithmicAxis.OnActualRangePropertyChanged">
            <summary>
            When the actual range is set, set the MinimumAxisValue as well
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LogarithmicAxis.GetMajorTickValues">
            <summary>
            Calculate a major ticks with the current logarithmic base.
            E.g. log base 2 returns: 2, 4, 8, 16 etc.
            E.g. log base 10 returns: 1, 10, 100, 1000 etc.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LogarithmicAxis.GetMinorTickValues">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LogarithmicAxis.IsDataValueRenderable(System.IComparable)">
            <summary>
            Returns whether <paramref name="dataValue"/> can be rendered on the axis.
            A point can't be rendered if it's negative.
            </summary>
            <param name="dataValue"></param>
            <returns></returns>
        </member>
        <member name="F:Visiblox.Charts.LogarithmicAxis.LogarithmicBaseProperty">
            <summary>
            Identifies the LogarithmicBase Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.LogarithmicAxis.HasBarOrColumnSeries">
            <summary>
            Indicates whether the axis has a bar or column series on it - used to move the bar to start at the axis.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.LogarithmicAxis.AxisMarginFactor">
            <summary>
            Indicates the margin axis factor used to calculate the margin either side of the chart.
            
            </summary>
        </member>
        <member name="P:Visiblox.Charts.LogarithmicAxis.LogarithmicBase">
            <summary>
            Gets or sets the base used to calculate the logarithmic scale. Default is 10. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.SortOrder">
            <summary>
            Specifies how labels are sorted on a <see cref="T:Visiblox.Charts.CategoryAxis"/>
            </summary>
        </member>
        <member name="F:Visiblox.Charts.SortOrder.Unspecified">
            <summary>
            The default. No sort order is specified.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.SortOrder.Ascending">
            <summary>
            Labels are sorted in ascending order
            </summary>
        </member>
        <member name="F:Visiblox.Charts.SortOrder.Descending">
            <summary>
            Labels are sorted in descending order
            </summary>
        </member>
        <member name="T:Visiblox.Charts.ValueConversionChangedHandler">
            <summary>
            Handler for a <see cref="E:Visiblox.Charts.IAxis.ValueConversionChanged"/> event.
            </summary>
            <param name="sender">The Axis whose axis value to/from display position conversion has changed.</param>
            <param name="e">Event argument.</param>
        </member>
        <member name="T:Visiblox.Charts.BehaviourBase">
            <summary>
            A base class for implementers of the <see cref="T:Visiblox.Charts.IBehaviour"/> interface.
            </summary>
            <remarks>
            <para>This class provides an implementation of the <see cref="T:Visiblox.Charts.IBehaviour"/> interface methods / properties,
            and no-op implementation of the handler methods for the various mouse events.</para>
            <para>Subclasses should set up any graphical elements and perform any initialisation in <see cref="M:Visiblox.Charts.BehaviourBase.Init"/>, and reverse this process in
            <see cref="M:Visiblox.Charts.BehaviourBase.DeInit"/>. The <see cref="M:Visiblox.Charts.BehaviourBase.OnIsEnabledPropertyChanged"/> method should be used to hide and show visual elements when the behaviour is
            hidden and shown respectively (the behaviour will not recieve mouse events while <see cref="P:Visiblox.Charts.BehaviourBase.IsEnabled"/> is false, but must take care of 
            hiding any visuals itself).</para>
            </remarks>
            <see cref="T:Visiblox.Charts.IBehaviour"/>
            <see cref="T:Visiblox.Charts.CrosshairBehaviour"/>
            <see cref="T:Visiblox.Charts.TrackballBehaviour"/>
            <see cref="T:Visiblox.Charts.ZoomBehaviour"/>
            <see cref="T:Visiblox.Charts.PanBehaviour"/>
        </member>
        <member name="T:Visiblox.Charts.IBehaviour">
            <summary>
            Defines a mechanism for adding some form  of interaction to a <see cref="T:Visiblox.Charts.Chart"/>.
            </summary>
            <remarks>
            <para>
            To enable a behaviour on a particular chart, the chart's <see cref="P:Visiblox.Charts.Chart.Behaviour"/>
            property must be set to an instance of that IBehaviour.
            In order to add multiple behaviours to a chart, see <see cref="T:Visiblox.Charts.BehaviourManager"/>. In order to implement
            a new behaviour, consider extending <see cref="T:Visiblox.Charts.BehaviourBase"/>.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.BehaviourManager"/>
            <seealso cref="T:Visiblox.Charts.BehaviourBase"/>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.Init(Visiblox.Charts.Chart,System.Windows.Controls.Grid,System.Windows.Controls.Canvas)">
            <summary>
            Allows a behaviour to obtain a reference to the <see cref="T:Visiblox.Charts.Chart"/>
            and the <paramref name="layoutRoot"/> and <paramref name="behaviourContainer"/> of the chart.
            Invoked by the <see cref="T:Visiblox.Charts.Chart"/> when a behaviour is initially added.
            Typically this would be used to locate some UI elements which have been inserted into the
            chart's visual tree as part of the behaviour.
            </summary>
            <param name="layoutRoot">The root grid of the chart's control template.</param>
            <param name="behaviourContainer">A panel the size of the chart's plot area to contain behaviour elements.</param>
            <param name="chart">The chart</param>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.DeInit">
            <summary>
            Removes any elements from the chart or series that the behaviour has added.
            Invoked by <see cref="T:Visiblox.Charts.Chart"/>  when a behaviour is not used any more.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.MouseLeftButtonDown(System.Windows.Point)">
            <summary>
            Invoked by the chart when the left mouse button is pressed within
            the plot area.
            </summary>
            <param name="position">Position of mouse in chart co-ordinates when the event occurs</param>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.MouseLeftButtonDoubleClick(System.Windows.Point)">
            <summary>
            Invoked by the chart when the left mouse button is double-clicked within
            the plot area.
            </summary>
            <param name="position">Position of mouse in chart co-ordinates when the event occurs</param>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.MouseLeftButtonUp(System.Windows.Point)">
            <summary>
            Invoked by the chart when the left mouse button is released within
            the plot area.
            </summary>
            <param name="position">Position of mouse in chart co-ordinates when the event occurs</param>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.MouseWheel(System.Windows.Point,System.Double)">
            <summary>
            Invoked by the chart when the mouse wheel is used within the plot area.
            </summary>
            <param name="position">Position of mouse in chart co-ordinates when the event occurs</param>
            <param name="delta">The amount that the mouse wheel rotated relative to its starting state or to the last occurrence of the event.</param>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.MouseMove(System.Windows.Point)">
            <summary>
            Invoked by the chart when the mouse is moved within
            the plot area.
            </summary>
            <param name="position">Position of mouse in chart co-ordinates when the event occurs</param>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.MouseEnter">
            <summary>
            Invoked by the chart when the mouse enters
            the plot area.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.MouseLeave">
            <summary>
            Invoked by the chart when the mouse leaves
            the plot area.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IBehaviour.LostMouseCapture">
            <summary>
            Invoked by the chart when the plot area loses a mouse capture.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IBehaviour.IsEnabled">
            <summary>
            Gets/Sets the enabled state of this behaviour, raising a property changed
            event when the state changes.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IBehaviour.Name">
            <summary>
            Gets the name of this behaviour.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.#ctor(System.String)">
            <summary>
            Instantiates the behaviour with the given name.
            </summary>
            <param name="name">The name of the behaviour</param>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.OnIsEnabledPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
             Event handler for when the IsEnabled property is changed.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.ToString">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.Init(Visiblox.Charts.Chart,System.Windows.Controls.Grid,System.Windows.Controls.Canvas)">
            <summary>
            Performs initialisation on the behaviour, setting the <see cref="P:Visiblox.Charts.BehaviourBase.Chart"/> and <see cref="P:Visiblox.Charts.BehaviourBase.LayoutRoot"/> properties. 
            Subclasses wanting to perform their own initialisation should override <see cref="M:Visiblox.Charts.BehaviourBase.Init"/>.
            </summary>
            <param name="chart">Chart to use.</param>
            <param name="layoutRoot">Layout root to set.</param>
            <param name="behaviourContainer">Plot area to set.</param>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.Init">
            <summary>
            Allows a subclass of <see cref="T:Visiblox.Charts.BehaviourBase"/> to perform its own initialisation. At the point this method is called,
            the <see cref="P:Visiblox.Charts.BehaviourBase.Chart"/>, <see cref="P:Visiblox.Charts.BehaviourBase.LayoutRoot"/> and <see cref="P:Visiblox.Charts.BehaviourBase.BehaviourContainer"/> have been initialised.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.DeInit">
            <inheritdoc /> 
            <remarks>When this method is implemented in a subclass, it should remove all UI elements it has added to the chart,
            remove any remaining event handlers etc.</remarks>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.OnIsEnabledPropertyChanged">
            <summary>
            Called when the <see cref="P:Visiblox.Charts.BehaviourBase.IsEnabled"/> property changes.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.MouseLeftButtonDown(System.Windows.Point)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.MouseLeftButtonUp(System.Windows.Point)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.MouseWheel(System.Windows.Point,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.MouseEnter">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.MouseLeave">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.MouseMove(System.Windows.Point)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.MouseLeftButtonDoubleClick(System.Windows.Point)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.LostMouseCapture">
            <inheritdoc />
        </member>
        <member name="F:Visiblox.Charts.BehaviourBase.IsEnabledProperty">
            <summary>
            Identifies the IsEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BehaviourBase.TagProperty">
            <summary>
            Identifies the Tag Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourBase.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.BehaviourBase.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.BehaviourBase.Name">
            <inheritdoc /> 
        </member>
        <member name="P:Visiblox.Charts.BehaviourBase.Chart">
            <summary>
            Exposes the <see cref="P:Visiblox.Charts.BehaviourBase.Chart"/> instance to BehaviourBase sub-classes.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BehaviourBase.LayoutRoot">
            <summary>
            Exposes the <see cref="T:System.Windows.Controls.Grid"/> serving as the chart's layout root.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BehaviourBase.BehaviourContainer">
            <summary>
            Exposes the <see cref="T:System.Windows.Controls.Canvas"/> covering the chart's plot area for the behaviour to draw itself on.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BehaviourBase.IsEnabled">
            <summary>
            Gets or sets the enabled state of this behaviour, raising a PropertyChanged event what the state changes. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BehaviourBase.Tag">
            <summary>
            Gets or sets an arbitrary object value that can be used to store custom information about this element. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.BehaviourBase.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BehaviourManager">
            <summary>
            A container for a number of <see cref="T:Visiblox.Charts.IBehaviour"/> instances, allowing multiple behaviours 
            to be added to a chart.
            </summary>
            <remarks>
            <para>
            Depending on the setting of <see cref="P:Visiblox.Charts.BehaviourManager.AllowMultipleEnabled"/>, the BehaviourManager either allows 
            one behaviour to be enabled on the chart at once, or any number.
            </para>
            <para>
            Behaviours are added to the <see cref="P:Visiblox.Charts.BehaviourManager.Behaviours"/> collection, and individual 
            behaviours may be enabled (or disabled) via the <see cref="P:Visiblox.Charts.IBehaviour.IsEnabled"/> property.
            The BehaviourManager passes chart interaction events through to each enabled behaviour.
            </para>
            </remarks>
            <example>
            The following example shows how to add a <see cref="T:Visiblox.Charts.CrosshairBehaviour"/>, <see cref="T:Visiblox.Charts.TrackballBehaviour"/> 
            and a <see cref="T:Visiblox.Charts.ZoomBehaviour"/>  to a Chart and enable the TrackballBehaviour and ZoomBehaviour.
            </example>
            <seealso cref="T:Visiblox.Charts.IBehaviour"/>
            <seealso cref="T:Visiblox.Charts.BehaviourBase"/>
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.#ctor">
            <summary>
             Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.Init">
            <summary>
            Initialises the contained behaviours.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.DeInit">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.MouseMove(System.Windows.Point)">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.MouseLeftButtonDoubleClick(System.Windows.Point)">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.MouseWheel(System.Windows.Point,System.Double)">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.MouseEnter">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.MouseLeave">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.MouseLeftButtonUp(System.Windows.Point)">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.MouseLeftButtonDown(System.Windows.Point)">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.LostMouseCapture">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.Behaviours_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Handles changes to the collection of <see cref="T:Visiblox.Charts.IBehaviour"/> instances.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.Behaviours_BehaviourPropertyChanged(System.Object,Visiblox.Charts.PropertyChangedRelayerEventArgs)">
            <summary>
            Handles property changed events for behaviours
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourManager.OnIsEnabledPropertyChanged">
            <summary>
            Override to ensure that when <see cref="P:Visiblox.Charts.BehaviourBase.IsEnabled"/> is set to false on a <see cref="T:Visiblox.Charts.BehaviourManager"/>, 
            each behaviour contained in it is disabled. Note that when <see cref="P:Visiblox.Charts.BehaviourBase.IsEnabled"/> is set to true, no behaviour
            is re-enabled again.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BehaviourManager.AllowMultipleEnabledProperty">
            <summary>
            Identifies the AllowMultipleEnabled Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BehaviourManager.Behaviours">
            <summary>
            Gets the collection of <see cref="T:Visiblox.Charts.IBehaviour"/> instances that this class manages.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BehaviourManager.EnabledBehaviour">
            <summary>
            Gets the single enabled behaviour, or null
            if none are enabled.  If multiple behaviours are enabled this
            will return the first one.  
            </summary>
            <seealso cref="P:Visiblox.Charts.BehaviourManager.EnabledBehaviours"/>
        </member>
        <member name="P:Visiblox.Charts.BehaviourManager.EnabledBehaviours">
            <summary>
            Gets the multiple enabled behaviours, or null
            if none are enabled
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BehaviourManager.AllowMultipleEnabled">
            <summary>
            Gets or sets whether multiple behaviours may be enabled at once. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.BehaviourWithAxesBase">
            <summary>
            An extension of <see cref="T:Visiblox.Charts.BehaviourBase"/> which contains X and Y axes concepts.
            </summary>
            <remarks>
            <para>The main functionality of this class is detailed within <see cref="T:Visiblox.Charts.BehaviourBase"/>.</para>
            <para>
            Additionally, there is a concept of an X and a Y axis on this base class. Methods are supplised for sub classes to use when these properties change:
            <see cref="M:Visiblox.Charts.BehaviourWithAxesBase.XAxisChanged(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis)"/> and <see cref="M:Visiblox.Charts.BehaviourWithAxesBase.YAxisChanged(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis)"/>.
            </para>
            </remarks>
            <see cref="T:Visiblox.Charts.IBehaviour"/>
            <see cref="T:Visiblox.Charts.CrosshairBehaviour"/>
            <see cref="T:Visiblox.Charts.TrackballBehaviour"/>
            <see cref="T:Visiblox.Charts.ZoomBehaviour"/>
        </member>
        <member name="T:Visiblox.Charts.Primitives.IAxisAware">
            <summary>
            Defines a component that has a notion of X and Y axes.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IAxisAware.XAxis">
            <summary>
            Gets or sets the X axis belonging to the component.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IAxisAware.YAxis">
            <summary>
            Gets or sets the Y axis belonging to the component
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourWithAxesBase.#ctor(System.String)">
            <summary>
            Constructor with a behaviour name chained to the base class
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourWithAxesBase.Init">
            <summary>
            Initialises the Axes to their defaults if they have not been manually set. 
            When overriding, call back to base.Init(). 
            </summary>
            <remarks>
            At the point this method is called, the <see cref="P:Visiblox.Charts.BehaviourBase.Chart"/>, <see cref="P:Visiblox.Charts.BehaviourBase.LayoutRoot"/> 
            and <see cref="P:Visiblox.Charts.BehaviourBase.BehaviourContainer"/> have been initialised.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.BehaviourWithAxesBase.DeInit">
            <summary>
            De-registers axis events. When overriding, call back to base.DeInit(). 
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourWithAxesBase.AxisEventRaised(Visiblox.Charts.IAxis,Visiblox.Charts.AxisEventRelayEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BehaviourWithAxesBase.XAxisChanged(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis)">
            <summary>
            Called when the XAxis is changed.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BehaviourWithAxesBase.YAxisChanged(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis)">
            <summary>
            Called when the YAxis is changed.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BehaviourWithAxesBase.XAxisProperty">
            <summary>
            Identifies the XAxis Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BehaviourWithAxesBase.YAxisProperty">
            <summary>
            Identifies the YAxis Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BehaviourWithAxesBase.XAxis">
            <summary>
            Gets or sets the X axis for this behaviour. This will default to the first non-null horizontal axis located on the chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BehaviourWithAxesBase.YAxis">
            <summary>
            Gets or sets the Y axis for this behaviour. This will default to the first non-null vertical axis located on the chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.Crosshair">
            <summary>
            A control which is used to render a crosshair.
            </summary>
            <remarks>
            <see cref="T:Visiblox.Charts.CrosshairBehaviour"/> uses Crosshair to to draw a crosshair on the chart
            and update it on every mouse move.
            </remarks>
            <seealso cref="T:Visiblox.Charts.CrosshairBehaviour"/>
        </member>
        <member name="M:Visiblox.Charts.Crosshair.#ctor">
            <summary>
             Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Crosshair.OnApplyTemplate">
            <summary>
             Sets up the graphical components of the control.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Crosshair.XProperty">
            <summary>
            Identifies the X Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Crosshair.YProperty">
            <summary>
            Identifies the Y Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Crosshair.XValueProperty">
            <summary>
            Identifies the XValue Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Crosshair.YValueProperty">
            <summary>
            Identifies the YValue Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Crosshair.FormattedXValueProperty">
            <summary>
            Identifies the FormattedXValue Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Crosshair.FormattedYValueProperty">
            <summary>
            Identifies the FormattedYValue Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Crosshair.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.Crosshair.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.Crosshair.Label">
            <summary>
            This label will inherit any format string specified in the Axis control.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Crosshair.X">
            <summary>
            Gets or sets the X value position of the mouse. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Crosshair.Y">
            <summary>
            Gets or sets the Y value position of the mouse. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Crosshair.XValue">
            <summary>
            Gets or sets the X value against which the crosshair is plotted on the X axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Crosshair.YValue">
            <summary>
            Gets or sets the Y value against which the crosshair is plotted on the Y axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Crosshair.FormattedXValue">
            <summary>
            Gets or sets the formatted X value of the crosshair. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Crosshair.FormattedYValue">
            <summary>
            Gets or sets the formatted Y value of the crosshair. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.Crosshair.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.CrosshairBehaviour">
            <summary>
            A behaviour that displays a crosshair on the chart plot area.
            </summary>
            <remarks>
            <para>CrosshairBehaviour displays a crosshair on the chart plot area, giving a readout of the data values under the mouse position. The crosshair consists of 
            vertical and horizontal lines running across the chart through the cursor position, and a label positioned by the cursor indicating the X and Y axis data values
            under the crosshair.</para>
            <para>
            The crosshair can be styled by setting <see cref="P:Visiblox.Charts.CrosshairBehaviour.CrosshairStyle"/>.
            </para>
            <para>
            X and Y labels can be turned on or off by setting the <see cref="P:Visiblox.Charts.CrosshairBehaviour.ShowAxisLabels"/> property. They can be set to hide underlying axis labels
                by setting <see cref="P:Visiblox.Charts.CrosshairBehaviour.HideCollidingAxisLabels"/> to true.
            </para> 
            <para>
            Labels on both the X and Y axis can be formatted using the <see cref="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelTemplate"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelBorderStyle"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelTextStyle"/>,
                <see cref="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelFormatString"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelHorizontalAlignment"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelVerticalAlignment"/> properties for the X axis
                and respectively the <see cref="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelTemplate"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelBorderStyle"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelTextStyle"/>,
                <see cref="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelFormatString"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelHorizontalAlignment"/>, <see cref="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelVerticalAlignment"/> properties for the Y axis.
            </para>
            </remarks>
            <example>The following XAML defines an example crosshair template and style, resulting in a red crosshair with thicker dashed lines:
            <code source="Help\Charts\IncludedCode\CrosshairTemplateExample.xml" lang="XAML"/>
            </example>
            <see cref="T:Visiblox.Charts.Crosshair"/>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour._crosshair">
            <summary>
             The cross hair control
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.OnCrosshairStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Update the crosshair style based on changes to the dependency property.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.#ctor">
            <summary>
             Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.DeInit">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.MouseEnter">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.MouseLeave">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.MouseMove(System.Windows.Point)">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.Init">
            <summary>
            Performs behaviour initialisation.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.AxisEventRaised(Visiblox.Charts.IAxis,Visiblox.Charts.AxisEventRelayEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.OnIsEnabledPropertyChanged">
            <summary>
            Hides the crosshair when the behaviour is not enabled.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.XAxisChanged(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis)">
            <summary>
            Remove the axis label in <see cref="P:Visiblox.Charts.IAxis.AdditionalLabels"/> from the oldAxis and 
            add it to the new Axis' <see cref="P:Visiblox.Charts.IAxis.AdditionalLabels"/>.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.YAxisChanged(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis)">
            <summary>
            Remove the axis label in <see cref="P:Visiblox.Charts.IAxis.AdditionalLabels"/> from the oldAxis and 
            add it to the new Axis' <see cref="P:Visiblox.Charts.IAxis.AdditionalLabels"/>.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.InvalidateInternal">
            <summary>
            Invalidates the layout of the crosshair
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.RepositionLabel(System.Windows.Point)">
            <summary>
            Reposition the crosshair label in case it overlaps a chart edge after movement
            (default position is above-right of crosshair).
            </summary>
            <param name="position">The position the mouse/crosshair is moving to.</param>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.CalculateLabelTransformX(System.Windows.Point,System.Windows.Controls.Grid)">
            <summary>
            Calculate transformation of label position required in X coordinate
            </summary>
            <param name="position">The position the mouse/crosshair is moving to.</param>
            <param name="label">Label display container</param>
            <returns>X transformation (based on initial right-side positioning)</returns>
        </member>
        <member name="M:Visiblox.Charts.CrosshairBehaviour.CalculateLabelTransformY(System.Windows.Point,System.Windows.Controls.Grid)">
            <summary>
            Calculate transformation of label position required in Y coordinate
            </summary>
            <param name="position">The position the mouse/crosshair is moving to.</param>
            <param name="label">Label display container</param>
            <returns>Y transformation (based on initial above-line positioning)</returns>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.CrosshairStyleProperty">
            <summary>
            Identifies the CrosshairStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.CrosshairTemplateProperty">
            <summary>
            Identifies the CrosshairTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.ShowAxisLabelsProperty">
            <summary>
            Identifies the ShowAxisLabels Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.HideCollidingAxisLabelsProperty">
            <summary>
            Identifies the HideCollidingAxisLabels Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.XAxisLabelTemplateProperty">
            <summary>
            Identifies the XAxisLabelTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.XAxisLabelBorderStyleProperty">
            <summary>
            Identifies the XAxisLabelBorderStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.XAxisLabelTextStyleProperty">
            <summary>
            Identifies the XAxisLabelTextStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.XAxisLabelFormatStringProperty">
            <summary>
            Identifies the XAxisLabelFormatString Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.XAxisLabelHorizontalAlignmentProperty">
            <summary>
            Identifies the XAxisLabelHorizontalAlignment Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.XAxisLabelVerticalAlignmentProperty">
            <summary>
            Identifies the XAxisLabelVerticalAlignment Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.YAxisLabelTemplateProperty">
            <summary>
            Identifies the YAxisLabelTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.YAxisLabelBorderStyleProperty">
            <summary>
            Identifies the YAxisLabelBorderStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.YAxisLabelTextStyleProperty">
            <summary>
            Identifies the YAxisLabelTextStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.YAxisLabelFormatStringProperty">
            <summary>
            Identifies the YAxisLabelFormatString Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.YAxisLabelHorizontalAlignmentProperty">
            <summary>
            Identifies the YAxisLabelHorizontalAlignment Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.CrosshairBehaviour.YAxisLabelVerticalAlignmentProperty">
            <summary>
            Identifies the YAxisLabelVerticalAlignment Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.Crosshair">
            <summary>
            Gets the crosshair which is the visual representation of the crosshair.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.CrosshairStyle">
            <summary>
            Gets or sets the style of the crosshair. The Style should have a TargetType of Crosshair. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.CrosshairTemplate">
            <summary>
            Gets or sets the control template used for the crosshair. The ControlTemplate should have a TargetType of Crosshair. See <see cref="T:Visiblox.Charts.CrosshairBehaviour"/> for an example. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.ShowAxisLabels">
            <summary>
            Gets or sets whether labels should be shown on the X and Y axis of the crosshair. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.HideCollidingAxisLabels">
            <summary>
            Gets or sets whether axis labels that would collide with the crosshair labels should be hidden. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelTemplate">
            <summary>Gets or sets the control template of the label on the X axis. The TargetType of this style should be <see cref="T:Visiblox.Charts.AxisLabel"/>.</summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelBorderStyle">
            <summary>
            Gets or sets the style of the border used around the label on the X axis. The TargetType of this style should be Border. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelTextStyle">
            <summary>
            Gets or sets the style of the text used around the label on the X axis. The TargetType of this style should be TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelFormatString">
            <summary>
            Gets or sets the format string to be used on the label on the X axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelHorizontalAlignment">
            <summary>
            Gets or sets the horizontal alignment of the label on the X axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.XAxisLabelVerticalAlignment">
            <summary>
            Gets or sets the vertical alignment of the label on the X axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelTemplate">
            <summary>Gets or sets the control template of the label on the Y axis. The TargetType of this style should be <see cref="T:Visiblox.Charts.AxisLabel"/>.</summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelBorderStyle">
            <summary>
            Gets or sets the style of the border used around the label on the Y axis. The TargetType of this style should be Border. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelTextStyle">
            <summary>
            Gets or sets the style of the text used around the label on the Y axis. The TargetType of this style should be TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelFormatString">
            <summary>
            Gets or sets the format string to be used on the label on the Y axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelHorizontalAlignment">
            <summary>
            Gets or sets the horizontal alignment of the label on the Y axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.YAxisLabelVerticalAlignment">
            <summary>
            Gets or sets the vertical alignment of the label on the Y axis. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.CrosshairBehaviour.CrosshairDataContext">
            <summary>
            A class that is simply used as a wrapper of properties 
            for binding elements within the <see cref="P:Visiblox.Charts.CrosshairBehaviour.Crosshair"/> template
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.CrosshairDataContext.X">
            <summary>
            X mouse position
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.CrosshairDataContext.Y">
            <summary>
            Y mouse position
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.CrosshairDataContext.XValue">
            <summary>
            The value along the X axis
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CrosshairBehaviour.CrosshairDataContext.YValue">
            <summary>
            The value along the Y axis
            </summary>
        </member>
        <member name="T:Visiblox.Charts.PanBehaviour">
            <summary>
            A behaviour that pans the chart when it is dragged.
            </summary>
            <remarks>
            <para>
            Panning is accomplished by updating the <see cref="P:Visiblox.Charts.Zoom.Offset"/> <see cref="P:Visiblox.Charts.IAxis.Zoom"/> offset while the chart is being dragged. This
            also takes into account the <see cref="P:Visiblox.Charts.Zoom.Scale"/> to ensure the panning is correct while zoomed in.
            </para>
            <para>
            It is possible to pan in both directions or to disable panning on X and/or Y through <see cref="P:Visiblox.Charts.PanBehaviour.XPanEnabled"/> and <see cref="P:Visiblox.Charts.PanBehaviour.YPanEnabled"/>.
            </para>
            <para>
            Two cursors can also be set to offer a visual indication: <see cref="P:Visiblox.Charts.PanBehaviour.PanAvailableCursor"/> when panning is available and <see cref="P:Visiblox.Charts.PanBehaviour.PanCursor"/> when
            panning is in progress.
            </para>
            <para>
            Note that the offsets are applied to all axes on the chart so that the axes remain in sync with one another.
            </para>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.MouseEnter">
            <summary>
            On mouse enter, apply the PanCursor to the chart
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.MouseLeave">
            <summary>
            On mouse leave, set the chart cursor to null
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.MouseMove(System.Windows.Point)">
            <summary>
            When the mouse is moved, pans the chart in the appropriate direction by updating the Zoom.
            </summary>
            <param name="position">Position the mouse has moved to.</param>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.Init">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.ConditionallyPerformPan(System.Windows.Point)">
            <summary>
            Performs a pan to the given <paramref name="position"/>, conditional on whether the chart
            has rendered since the last pan.
            </summary>
            <remarks>This method is initially called due to a mouse move event. If the CompositionTarget.Rendering event has 
            not yet fired since last update, this method will be called again via a timer in case the mouse stops moving
            and the position still needs updated. When the mouse button is released, 
            first this method is called while _leftMouseButtonUp is set, then after the Zoom has been updated</remarks>
            <param name="position"></param>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.PerformPan(System.Windows.Point)">
            <summary>
            Perform a pan operation - this involves modifying the Zoom
            property on each chart axis
            </summary>
            <param name="position">Point to pan to</param>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.OnPanStarted">
            <summary>
            Fire the PanStarted event
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.MouseLeftButtonDown(System.Windows.Point)">
            <summary>
            When the left mouse button is pressed, a pan is initiated from that point.
            </summary>
            <param name="position">Initial point to pan from.</param>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.MouseLeftButtonDownInternal(System.Windows.Point)">
            <summary>
            Internal method for testing
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.MouseLeftButtonUp(System.Windows.Point)">
            <summary>
            When the left mouse button is released, the pan is completed.
            </summary>
            <param name="position">End point of the pan.</param>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.LostMouseCapture">
            <summary>
            When mouse capture is lost, the pan is completed.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.OnPanEnded">
            <summary>
            Fire the PanEnded event
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanBehaviour.DeInit">
            <inheritdoc/>
        </member>
        <member name="F:Visiblox.Charts.PanBehaviour.XPanEnabledProperty">
            <summary>
            Identifies the XPanEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PanBehaviour.YPanEnabledProperty">
            <summary>
            Identifies the YPanEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PanBehaviour.PanCursorProperty">
            <summary>
            Identifies the PanCursor Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PanBehaviour.PanAvailableCursorProperty">
            <summary>
            Identifies the PanAvailableCursor Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PanBehaviour.DisableAxisRenderingProperty">
            <summary>
            Identifies the DisableAxisRendering Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PanBehaviour.SetAxisRangeOnPanEndedProperty">
            <summary>
            Identifies the SetAxisRangeOnPanEnded Dependency Property.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.PanBehaviour.PanEnded">
            <summary>
            Event indicating a mouse pan has ended.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.PanBehaviour.PanStarted">
            <summary>
            Event indicating a mouse pan has started.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PanBehaviour.XPanEnabled">
            <summary>
            Gets or sets whether panning in the X direction is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PanBehaviour.YPanEnabled">
            <summary>
            Gets or sets whether panning in the Y direction is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PanBehaviour.PanCursor">
            <summary>
            Gets or sets the cursor used to indicate panning in progress; by default this is Cursors.Hand. To inherit the chart's cursor set this to null. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PanBehaviour.PanAvailableCursor">
            <summary>
            Gets or sets the cursor used to indicate panning is available; by default this is Cursors.Hand. To inherit the chart's cursor set this to null. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PanBehaviour.DisableAxisRendering">
            <summary>
            Gets or sets whether to disable the rendering of axes for the duration of a pan to improve performance. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PanBehaviour.SetAxisRangeOnPanEnded">
            <summary>
            Gets or sets whether set the axis ranges should be automatically set to the visible range at the end of a pan operation. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.PanHelper">
            <summary>
            Contains helper methods for calculating offset needed when panning
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PanHelper.GetXZoomOffset(System.Windows.Point,System.Windows.Point,Visiblox.Charts.IAxis,Visiblox.Charts.Chart)">
            <summary>
            Calculates the new offset to be applied to <paramref name="xAxis"/>'s Zoom in order to be panned to
                <paramref name="currentPoint"/>.
            </summary>
            <param name="lastPannedPoint">The last point that's been panned to (the point that the current <paramref name="xAxis"/>.Zoom.Offset represents)</param>
            <param name="currentPoint">The point to be panned to</param>
            <param name="xAxis">The axis against which panning is done</param>
            <param name="chart">The chart containing <paramref name="xAxis"/></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.PanHelper.GetYZoomOffset(System.Windows.Point,System.Windows.Point,Visiblox.Charts.IAxis,Visiblox.Charts.Chart)">
            <summary>
            Calculates the new offset to be applied to <paramref name="yAxis"/>'s Zoom in order to be panned to
                <paramref name="currentPoint"/>.
            </summary>
            <param name="lastPannedPoint">The last point that's been panned to (the point that the current <paramref name="yAxis"/>.Zoom.Offset represents)</param>
            <param name="currentPoint">The point to be panned to</param>
            <param name="yAxis">The axis against which panning is done</param>
            <param name="chart">The chart containing <paramref name="yAxis"/></param>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.Trackball">
            <summary>
            Represents a track-ball which is the visual representation of the data point closest to the mouse
            in a <see cref="T:Visiblox.Charts.TrackballBehaviour"/>.
            </summary>
            <remarks>
            <para>
            The Trackball may be an ellipse, triangle, or other indicator as defined by the control template used.
            By the implementation of <see cref="T:Visiblox.Charts.TrackballBehaviour"/>, this is defined per-series 
            by <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.TrackballTemplate"/>.
            </para>
            <para>
            <see cref="T:Visiblox.Charts.TrackballBehaviour"/> uses Trackball to to draw a track-ball on the chart
            and update it on every mouse move.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.TrackballBehaviour"/>
        </member>
        <member name="F:Visiblox.Charts.Trackball._layoutRoot">
            <summary>
            Root zoom canvas containing the trackball UI elements.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Trackball.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Trackball.OnApplyTemplate">
            <summary>
            Initialise the UI elements
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Trackball.TrackballStyleProperty">
            <summary>
            Identifies the TrackballStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Trackball.CurrentPointProperty">
            <summary>
            Identifies the CurrentPoint Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Trackball.SeriesProperty">
            <summary>
            Identifies the Series Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Trackball.RenderPointProperty">
            <summary>
            Identifies the RenderPoint Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Trackball.AutoRotateProperty">
            <summary>
            Identifies the AutoRotate Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Trackball.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.Trackball.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.Trackball.TrackballStyle">
            <summary>
            Gets or sets the style of the trackball element. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Trackball.CurrentPoint">
            <summary>
            Gets or sets the current point. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Trackball.Series">
            <summary>
            Gets or sets the associated series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Trackball.RenderPoint">
            <summary>
            Gets or sets the current render point(s) - this is the current point converted to display coordinates. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Trackball.AutoRotate">
            <summary>
            For bar and column charts determines whether the trackball will be auto-rotated for negative values. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.Trackball.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.TrackballBehaviour">
            <summary>
            A behaviour that displays a <see cref="T:Visiblox.Charts.Trackball"/> at the closest datapoint(s) to the mouse pointer.
            </summary>
            <remarks>
            <para>TrackballBehaviour displays a <see cref="T:Visiblox.Charts.Trackball"/> on each series indicating the data point which is closest (considering the <see cref="P:Visiblox.Charts.TrackballBehaviour.TrackingMode"/> in operation).
            By default a trackball is added to every series on the chart, however if series are added to the behaviour's <see cref="P:Visiblox.Charts.TrackballBehaviour.Series"/> collection, only those series will display
            trackballs.</para>
            <para>The point(s) indicated by the trackball are exposed via the <see cref="P:Visiblox.Charts.TrackballBehaviour.CurrentPoints"/> collection. In common usage, the current point of the trackball 
            will be bound to some visual indication on the screen (see the example below).</para>
            <para>The visual appearence of a particular trackball is specified by the associated series. Any series extending <see cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>
            specifies a <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.TrackballTemplate"/> and <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.TrackballStyle"/>. The series 
            will specify a suitable default appearence for the trackball, but by setting these properties it is possible to customise the trackball of a particular series (examples
            are given under <see cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>).</para>
            </remarks>
            <example>Assume there is a chart containing some series. To display the trackball's position, the following XAML snippet might be used:
            <code source="Help\Charts\IncludedCode\TrackballExample.xml" lang="XAML"/>
            </example>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.OnTrackingModePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Handles changes to the TrackingMode property.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.OnSnapModePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Handles changes to the SnapMode property.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.MouseMove(System.Windows.Point)">
            <summary>
            Update the <see cref="T:Visiblox.Charts.Trackball"/> to the nearest <see cref="T:System.Windows.Point"/> when the mouse is moved.
            </summary>
            <param name="position">Position the mouse moved to.</param>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.MouseEnter">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.MouseLeave">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.DeInit">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.Init">
            <summary>
            Initialises the trackball behaviour.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.OnIsEnabledPropertyChanged">
            <summary>
            Hides the trackball when the behaviour is not enabled.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.AddTrackballs">
            <summary>
            Add a <see cref="T:Visiblox.Charts.Trackball"/> to the series.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.RemoveTrackballs">
            <summary>
            Remove the <see cref="T:Visiblox.Charts.Trackball"/> from the series.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.ValidPosition(System.Windows.Point)">
            <summary>
            Check if the <see cref="T:Visiblox.Charts.Trackball"/> position is within the axis bounds - sometimes this may not be the case
            if something has been changed since the position was updated - e.g. <see cref="T:Visiblox.Charts.Chart"/> being hidden.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.UpdateTrackballsToLastMouseLocation">
            <summary>
            Update the trackball to the recalculated data point corresponding to the last mouse location, invalidating the cached before/after points.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.UpdateTrackballs(System.Windows.Point)">
            <summary>
            Update the <see cref="T:Visiblox.Charts.Trackball"/> to a new mouse position. Updates the current point property.
            </summary>
            <param name="position">Position to move the trackball to.</param>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.LocateClosestPoint(Visiblox.Charts.IDataPoint,Visiblox.Charts.IChartSeries)">
            <summary>
            Locate the closest <see cref="T:System.Windows.Point"/> in the <see cref="T:Visiblox.Charts.IChartSeries"/> to the given point.
            </summary>
            <param name="mousePoint">The mouse position translated to a data point.</param>
            <param name="series">The series.</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.FindClosestPointOnX(Visiblox.Charts.IDataPoint,Visiblox.Charts.IChartSeries,Visiblox.Charts.IAxis)">
            <summary>
            Find the closest point to the mouse in the X direction only; for non ChartSeriesBase derived series,
            or when on a category axis the generic (slow) implementation below is used.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.ChooseClosestValue(Visiblox.Charts.IAxis,System.IComparable,System.IComparable,System.IComparable)">
            <summary>
            Given a middle value and two values on either side of it, this method works out which
            of the two values is closer to the middle one.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.TrackballBehaviour.BindSeriesVisibility(Visiblox.Charts.Trackball)">
            <summary>
            Links the visibility of the trackball to the visibility of the chart series.  A binding
            is required for this to work around the restriction in silverlight
            </summary>
        </member>
        <member name="F:Visiblox.Charts.TrackballBehaviour.TrackingModeProperty">
            <summary>
            Identifies the TrackingMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.TrackballBehaviour.SnapModeProperty">
            <summary>
            Identifies the SnapMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.TrackballBehaviour.HideTrackballsOnMouseLeaveProperty">
            <summary>
            Identifies the HideTrackballsOnMouseLeave Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.TrackballBehaviour.CurrentPoints">
            <summary>
            Gets or sets the current collection of <see cref="T:Visiblox.Charts.IDataPoint"/> objects at the trackball position.
            </summary>
            <remarks>When the mouse has moved on the chart to indicate a data point, CurrentPoints contains one data point for each 
            series which has a trackball. These are returned in the order that the series are added to <see cref="P:Visiblox.Charts.TrackballBehaviour.Series"/>; if 
            as by default all series have trackballs (<see cref="P:Visiblox.Charts.TrackballBehaviour.Series"/> is empty), the current points are returned in the order 
            the series were added to the chart (see <see cref="P:Visiblox.Charts.Chart.Series"/>).</remarks>
        </member>
        <member name="P:Visiblox.Charts.TrackballBehaviour.Series">
            <summary>
            Series which have trackballs enabled. If no series are added to this collection and the TrackballBehaviour is enabled, ALL series will have trackballs enabled.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.TrackballBehaviour.TrackingMode">
            <summary>
            Gets or sets the mode of pointer-tracking used by the trackball. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.TrackballBehaviour.SnapMode">
            <summary>
            Gets or sets the mode of snap to points used by the trackball. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.TrackballBehaviour.HideTrackballsOnMouseLeave">
            <summary>
            Gets or sets whether to hide the trackballs on the chart when the mouse leaves the chart area. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.TrackballBehaviour.SeriesVisibiltyBinding">
            <summary>
            Class to hold a binding from the Visibilty of a ChartSeriesBase instance to trigger a refresh of the associated trackball visibility
            </summary>
        </member>
        <member name="T:Visiblox.Charts.TrackingPointPattern">
            <summary>
            Indicates what algorithm should be used to calculate the nearest point(s) on the chart to the cursor.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.TrackingPointPattern.LineOnX">
            <summary>
            Nearest point to the line running through the X coordinate of the cursor
            </summary>
        </member>
        <member name="F:Visiblox.Charts.TrackingPointPattern.LineOnY">
            <summary>
            Nearest point to the line running through the Y coordinate of the cursor
            </summary>
        </member>
        <member name="T:Visiblox.Charts.TrackingSnapPattern">
            <summary>
            Indicates what algorithm should be used to calculate the nearest point(s) on the chart to the cursor.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.TrackingSnapPattern.SnapByValue">
            <summary>
            Determine the nearest point by data value
            </summary>
        </member>
        <member name="F:Visiblox.Charts.TrackingSnapPattern.SnapByPosition">
            <summary>
            Determine the nearest point by screen position
            </summary>
        </member>
        <member name="T:Visiblox.Charts.ZoomBehaviour">
            <summary>
            A behaviour that allows the user to zoom the chart by dragging a 
            rectangular region across the plot area.
            </summary>
            <remarks>
            <para>By default the zoom is animated. This can be turned off by setting <see cref="P:Visiblox.Charts.ZoomBehaviour.AnimationEnabled"/> to false.
            The animation duration can be controlled by setting the <see cref="P:Visiblox.Charts.ZoomBehaviour.AnimationDuration"/> property.</para>
            <para>The style of the rectangle drawn to indicate the zoom area can be changed by setting the <see cref="P:Visiblox.Charts.ZoomBehaviour.ZoomRectangleStyle"/> property.
            The zoom rectangle can be modified more extensively via the <see cref="P:Visiblox.Charts.ZoomBehaviour.ZoomRectangleTemplate"/> property.</para>
            <para>
            Note that the zoom is applied to all axes on the chart so that the axes remain in sync with one another.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.ZoomRectangle"/>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour._zooming">
            <summary>
            whether zooming is in progress
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour._zoomXCompleted">
            <summary>
            Marks whether zooming on the X axis has completed
            </summary>        
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour._zoomYCompleted">
            <summary>
            Marks whether zooming on the X axis has completed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.OnZoomRectangleStylePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Handles changes to the zoom rectangle style.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.OnIsEnabledPropertyChanged">
            <summary>
            Handle changes to IsEnabled property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.#ctor">
            <summary>
             Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.DeInit">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.MouseLeftButtonDoubleClick(System.Windows.Point)">
            <summary>
            Override of <see cref="T:Visiblox.Charts.BehaviourBase"/> that handles a left mouse button double click.
            If the chart is zoomed this will unzoom the chart.
            </summary>
            <param name="position">Position that was double-clicked.</param>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.MouseLeftButtonDown(System.Windows.Point)">
            <summary>
            Override of <see cref="T:Visiblox.Charts.BehaviourBase"/> that handles a left mouse button press. 
            This initiates the selection of the area to be zoomed into if the mouse can
            be captured (i.e. the chart is enabled).
            </summary>
            <param name="position">Position that was clicked.</param>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.MouseMove(System.Windows.Point)">
            <summary>
            Override of <see cref="T:Visiblox.Charts.BehaviourBase"/> that handles the mouse being dragged; 
            therefore changing the area selected for zooming. The mouse dragged must have
            been initiated in the plot area.
            </summary>
            <param name="position">Position that the mouse moved to.</param>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.MouseLeftButtonUp(System.Windows.Point)">
            <summary>
            Override of <see cref="T:Visiblox.Charts.BehaviourBase"/> that handles the left mouse button being
            released. If the button was initially pressed in the plot area then the zoom is
            initiated; it is ignored otherwise.
            </summary>
            <param name="position">Position that the mouse button was released at.</param>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.MouseWheel(System.Windows.Point,System.Double)">
            <summary>
            Override of <see cref="T:Visiblox.Charts.BehaviourBase"/> that handles a mouse wheel scroll. 
            If the <see cref="P:Visiblox.Charts.ZoomBehaviour.ZoomMode"/> dictates that the mouse wheel should zoom, this method will scale
            by <see cref="P:Visiblox.Charts.ZoomBehaviour.ScaleChangePerInteraction"/> for each mouse wheel rotation around the cursor's current position.
            </summary>
            <param name="position">Position of mouse in chart co-ordinates when the event occurs</param>
            <param name="delta">The amount that the mouse wheel rotated relative to its starting state or to the last occurrence of the event.</param>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.LostMouseCapture">
            <inheritdoc /> 
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.ZoomTo(System.Collections.Generic.IDictionary{Visiblox.Charts.IAxis,Visiblox.Charts.Zoom},System.Collections.Generic.IDictionary{Visiblox.Charts.IAxis,Visiblox.Charts.Zoom})">
            <summary>
            Zooms to the given scales and offsets.
            </summary>
            <remarks>The zoom is animated according to <see cref="P:Visiblox.Charts.ZoomBehaviour.AnimationDuration"/> and <see cref="P:Visiblox.Charts.ZoomBehaviour.AnimationEnabled"/>.</remarks>
            <param name="xAxisZooms">The X axes to zoom</param>
            <param name="yAxisZooms">The Y axes to zoom</param>
            <returns>Whether the zoom has occurred</returns>
            <seealso cref="T:Visiblox.Charts.Zoom"/>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.ZoomToPoints(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Zooms to the rectangle defined by the given render points within chart's plot area.
            </summary>
            <remarks>The zoom is animated according to <see cref="P:Visiblox.Charts.ZoomBehaviour.AnimationDuration"/> and <see cref="P:Visiblox.Charts.ZoomBehaviour.AnimationEnabled"/>.</remarks> 
            <param name="xPosOne">X1 point of the zoom rectangle</param>
            <param name="yPosOne">Y1 point of the zoom rectangle</param>
            <param name="xPosTwo">X2 point of the zoom rectangle</param>
            <param name="yPosTwo">Y2 point of the zoom rectangle</param>
            <returns>Whether the zoom has occurred</returns>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.Init">
            <summary>
            Initialises the zoom behaviour.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.MouseLeftButtonDownInternal(System.Windows.Point)">
            <summary>
            Internal method for testing
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.CalculateScale(System.Double,System.Double)">
            <summary>
            Calculates the scale using the current scale and the amount to scale this. Currently this is just
            a subtraction.
            </summary>
            <example>
            If scale is 1.0 and we want to scale by 0.25, this would be 0.75
            </example>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.CalculateOffset(System.Double,Visiblox.Charts.Zoom,System.Double,System.Double,System.Boolean)">
            <summary>
            Calculates the <returns>offset</returns> required to <param name="scale" /> around the <param name="position" />.
            </summary>
            <param name="inX">Required as Y is measured from the top but scaled from the bottom of the plot area.</param>
            <param name="plotAreaLength">This will either be the ActualWidth (for X) or ActualHeight (for Y) of the plot area.</param>
            <param name="previousZoom">Used to calculate the previous scaled position and to move the relative offset into the correct scale.</param>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.RestrictPointToChart(System.Windows.Point)">
            <summary>
            Restrict a point to the plot area bounds (while mouse capture is active we may see points
            outside this area).
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.CheckAndSetInitialZoom">
            <summary>
            Holds on to the initial zoom for future reference for unzooming the first time a zoom is activated
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.AnimateXAxis_Completed(System.Object,System.EventArgs)">
            <summary>
            Called when animation on X axis has completed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.AnimateYAxis_Completed(System.Object,System.EventArgs)">
            <summary>
            Called when animation on Y axis has completed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomBehaviour.TryFireZoomed">
            <summary>
            Tries to fire the Zoomed event
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.ZoomRectangleStyleProperty">
            <summary>
            Identifies the ZoomRectangleStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.ZoomRectangleTemplateProperty">
            <summary>
            Identifies the ZoomRectangleTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.AnimationEnabledProperty">
            <summary>
            Identifies the AnimationEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.AnimationDurationProperty">
            <summary>
            Identifies the AnimationDuration Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.ZoomModeProperty">
            <summary>
            Identifies the ZoomMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.ScaleChangePerInteractionProperty">
            <summary>
            Identifies the ScaleChangePerInteraction Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.DisableAxisRenderingProperty">
            <summary>
            Identifies the DisableAxisRendering Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.XZoomEnabledProperty">
            <summary>
            Identifies the XZoomEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomBehaviour.YZoomEnabledProperty">
            <summary>
            Identifies the YZoomEnabled Dependency Property.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.ZoomBehaviour.ZoomStarted">
            <summary>
            Event fired when zooming begins.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.ZoomBehaviour.ZoomEnded">
            <summary>
            Event fired when zooming ends.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.ZoomRectangle">
            <summary>
            Gets the control which is the visual representation 
            of the zoom behaviour.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.ZoomRectangleStyle">
            <summary>
            Gets or sets the style of the zoom. This Style should have a TargetType of ZoomRectangle. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.ZoomRectangleTemplate">
            <summary>
            Gets or sets the style of the zoom. This ControlTemplate should have a TargetType of ZoomRectangle. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.AnimationEnabled">
            <summary>
            Gets or sets whether animation is enabled when zooming. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.AnimationDuration">
            <summary>
            Gets or sets the duration of the zooming animation in seconds. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.ZoomMode">
            <summary>
            Gets or sets the ZoomMode of the behaviour. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.ScaleChangePerInteraction">
            <summary>
            Gets or sets the amount to change the scale for each interaction. The default is to zoom in to show 1/10th less data each interaction. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.DisableAxisRendering">
            <summary>
            Gets or sets whether to disable the rendering of axes for the duration of a pan to improve performance. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.XZoomEnabled">
            <summary>
            Gets or sets whether zooming in the X direction is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomBehaviour.YZoomEnabled">
            <summary>
            Gets or sets whether zooming in the Y direction is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.ZoomHelper">
            <summary>
            Contains helper methods for manipulating the zoom.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomHelper.DEFAULT_CHART_WIDTH">
            <summary>
            Value used for chart's width if the chart's ActualWidth is not yet set
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomHelper.DEFAULT_CHART_HEIGHT">
            <summary>
            Value used for chart's width if the chart's ActualHeight is not yet set
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomHelper.PATH_MAX_SIZE">
            <summary>
            The maximum size of a path to be drawn
            Reason for a max size is because above about 65000px zoom breaks. 
            See http://gregdoesit.com/2009/11/silverlight-bug-when-drawing-large-paths/ for details.
            WPF does not produce this same bad behaviour, but at greater levels of zoom, imprecision in 
            WPF rendering arises - eg a shape's stroke and fill do not meet.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomHelper.CanZoomTo(Visiblox.Charts.Chart,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Decides whether zooming to the rectangle defined by <paramref name="xPosOne"/>, <paramref name="yPosOne"/>, <paramref name="xPosTwo"/> and <paramref name="yPosTwo"/>
                is allowed on the chart.
            </summary>
            <remarks>
            Zooming is only allowed to a certain extent in Silverlight due to a problem when drawing very long paths.
            In WPF zooming is also limited to a more generous extent as zooming too deep would result in shapes not being drawn correctly due to double rounding issues.
            </remarks>
            <param name="chart">The chart</param>
            <param name="xPosOne">X1 point of the zoom rectangle</param>
            <param name="yPosOne">Y1 point of the zoom rectangle</param>
            <param name="xPosTwo">X2 point of the zoom rectangle</param>
            <param name="yPosTwo">Y2 point of the zoom rectangle</param>
            <returns>Whether the zoom is allowed.</returns>
        </member>
        <member name="M:Visiblox.Charts.ZoomHelper.CanZoomTo(Visiblox.Charts.Chart,Visiblox.Charts.Zoom)">
            <summary>
            Returns whether the passed <paramref name="zoom"/>'s scale is to be allowed on <paramref name="chart"/>.
            </summary>
            <remarks>
            Zooming is only allowed to a certain extent in Silverlight due to a problem when drawing very long paths.
            In WPF zooming is also limited to a more generous extent as zooming too deep would result in shapes not being drawn correctly due to double rounding issues.
            </remarks>
            <param name="chart">The chart</param>
            <param name="zoom">Zoom to be checked</param>
            <returns>whether zooming should be enabled</returns>
        </member>
        <member name="M:Visiblox.Charts.ZoomHelper.CanZoomTo(Visiblox.Charts.Chart,System.Collections.Generic.IDictionary{Visiblox.Charts.IAxis,Visiblox.Charts.Zoom})">
            <summary>
            Returns whether all of the passed <paramref name="axisZooms"/>'s scale is allowed
                on <paramref name="chart"/>.
            </summary>
            <param name="chart">The chart</param>
            <param name="axisZooms">Pairs of axes and their target zooms</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ZoomHelper.AnimateZoomTo(System.Collections.Generic.IDictionary{Visiblox.Charts.IAxis,Visiblox.Charts.Zoom},System.Int32,System.EventHandler)">
            <summary>
            Animates a change in the zoom from the current scale and offset to the specified values, 
            in the specified number of milliseconds
            </summary>
            <param name="axisZoomSet">The set of axis/zoom pairs to animate, where the zoom is the target zoom to animate that axis's zoom to</param>
            <param name="milliseconds">Animation duration</param>
            <param name="animationFinished">Event handler to be called when all the animations have finished</param>
        </member>
        <member name="M:Visiblox.Charts.ZoomHelper.GetMaximumScale(Visiblox.Charts.Chart)">
            <summary>
            Returns the maximum scaling for the chart: if it is scaled beyond this, paths 
            may be rendered incorrectly.
            </summary>
            <returns>The maximum permissible scale factor.</returns>
        </member>
        <member name="M:Visiblox.Charts.ZoomHelper.GetActualChartWidth(Visiblox.Charts.Chart)">
            <summary>
            Gets the width of the chart in pixels. This can be different than Chart.ActualWidth
                if Range is set on the XAxis causing the chart to "hang off" of the axis.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.ZoomMode">
            <summary>
            Specifies the ZoomMode to be used with the <see cref="T:Visiblox.Charts.ZoomBehaviour"/>
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomMode.MouseDrag">
            <summary>
            Clicking and dragging the mouse produces a <see cref="T:Visiblox.Charts.ZoomRectangle"/>, double clicking unzooms
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomMode.MouseWheel">
            <summary>
            Rotating the mouse wheel forward zooms in, rotating backward zooms out.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomMode.MouseDragAndWheel">
            <summary>
            Both <see cref="F:Visiblox.Charts.ZoomMode.MouseDrag"/> and <see cref="F:Visiblox.Charts.ZoomMode.MouseWheel"/> are enabled.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.ZoomRectangle">
            <summary>
            A control which is used to render a region which the user selects to zoom.
            </summary>
            <remarks>
            <para></para>
            Provides a visual indication of the validity of the currently selected zoom region.
            <para><see cref="T:Visiblox.Charts.ZoomBehaviour"/> uses ZoomRectangle to to draw a rectangle representing the
            are to be zoomed on the chart and update it on every mouse move while the left mouse button is down.</para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.ZoomBehaviour"/>
        </member>
        <member name="M:Visiblox.Charts.ZoomRectangle.#ctor">
            <summary>
             Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomRectangle.OnApplyTemplate">
            <summary>
             Sets up the graphical components of the control.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomRectangle.NotZoomableBackgroundProperty">
            <summary>
            Identifies the NotZoomableBackground Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomRectangle.NotZoomableForegroundProperty">
            <summary>
            Identifies the NotZoomableForeground Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ZoomRectangle.BorderProperty">
            <summary>
            Identifies the Border Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ZoomRectangle.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.ZoomRectangle.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.ZoomRectangle.NotZoomableBackground">
            <summary>
            Gets or sets the background for the ZoomRectangle representing an invalid zoom selection. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomRectangle.NotZoomableForeground">
            <summary>
            Gets or sets the foreground for the ZoomRectangle representing an invalid zoom selection. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ZoomRectangle.Border">
            <summary>
            Gets or sets the border of the rectangle. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.ZoomRectangle.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Chart">
            <summary>
            Represents a Visiblox chart. A chart has 2 or more axes, and may contain a number of different kinds of series, a title and a legend. Charts are richly 
            interactive and stylable.
            </summary>
            <remarks>
            <para>
            Chart takes care of generating all of its components needed for display, the developer only has to add
            one or more <see cref="T:Visiblox.Charts.IChartSeries"/> to its <see cref="P:Visiblox.Charts.Chart.Series"/> collection to plot data.
            </para>
            <para>
            Chart is designed to be fully customizable. The most important customization possibilities are the following:
            <list type="bullet">
                <item>
                <term><strong>Axis</strong> - </term>
                <description>The Chart always has one <see cref="P:Visiblox.Charts.Chart.XAxis"/> and either one <see cref="P:Visiblox.Charts.Chart.YAxis"/> or multiple axes <see cref="P:Visiblox.Charts.Chart.SecondaryYAxis"/>, 
                <see cref="P:Visiblox.Charts.Chart.AdditionalPrimaryYAxes"/>, <see cref="P:Visiblox.Charts.Chart.AdditionalSecondaryYAxes"/>.
                Axes are automatically created based on the type of data in the series but they can be programmatically assigned or re-assigned as well.
                </description>
                </item>
                <item>
                <term><strong>Styling</strong> - </term>
                <description>Both the Chart container and its components can be fully styled using styling related properties. 
                Chart allows the styling of the series in various ways. Styling related properties can be set on the individual series, 
                the <see cref="P:Visiblox.Charts.IChartSeriesCommon.NormalStyle"/> 
                property can be set on the series, or the <see cref="T:Visiblox.Charts.Palette"/> property can be used to define a palette and apply it to the chart.
                Specifying style related properties on the individual series has the highest precedence, this followed by specifying 
                the NormalStyle, finally by declaring a custom Palette. If none of these are specified, the default Chart Palette 
                will be applied to the series.</description>
                </item>
                <item>
                <term><strong>Interaction</strong> - </term>
                <description>Interaction is supported through behaviours. A behaviour (<see cref="T:Visiblox.Charts.IBehaviour"/>) needs to be  
                assigned to the <see cref="P:Visiblox.Charts.Chart.Behaviour"/> property of the chart to enable various interactions. Examples for behaviours include
                <see cref="T:Visiblox.Charts.ZoomBehaviour"/> and <see cref="T:Visiblox.Charts.TrackballBehaviour"/>.
                Note that by assigning a <see cref="T:Visiblox.Charts.BehaviourManager"/> to Behaviour, multiple behaviours can be assigned to the chart.</description>
                </item>
            </list>
            </para>
            <para>
            Chart implements <see cref="T:Visiblox.Charts.IOffsetProvider"/> to provide offsets to <see cref="T:Visiblox.Charts.IChartSeries"/> which can be rendered
            in a side-by-side context - where the width of the rendered data points is dependent upon other data points from other series at that particular render position.
            </para>
            </remarks>
            <example>
            <para>Create a simple chart with a single line series:
            <code source="Help\Charts\IncludedCode\CreateSimpleChartExample.cs"/>
            Example output:
            <img src="../Help/Charts/chart-example.jpg"/>
            </para>
            <para>
            Customizing the Chart can be done through either the style related properties or by changing its layout via 
            setting the <see cref="P:System.Windows.Controls.Control.Template"/> property and changing its control template.
            By default the following template is applied to the chart. Use this as a base for changing the chart's control template.
            <code source="Help\Charts\IncludedCode\ChartControlTemplate.xml" lang="XAML"/>
            </para>
            </example>
            <seealso cref="T:Visiblox.Charts.IChartSeries"/>
            <seealso cref="T:Visiblox.Charts.IAxis"/>
            <seealso cref="T:Visiblox.Charts.IBehaviour"/>
            <seealso cref="T:Visiblox.Charts.Palette"/>  
            <seealso cref="T:Visiblox.Charts.IOffsetProvider"/>
        </member>
        <member name="T:Visiblox.Charts.ChartBase">
            <summary>
            Represents a base class for Visiblox charts. Is responsible for providing support for common functionality requirements
                for all Visiblox charts, this includes title, legend, plot area and palette.
            </summary>
            <remarks>
            <para>
            
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.Chart"/>
            /// <seealso cref="T:Visiblox.Charts.PieChart"/>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.OnTitlePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when the title property is changed.
            </summary>
            <remarks>
            If the title is empty, it collapses the title area container
            </remarks>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.PalettePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when the <see cref="P:Visiblox.Charts.ChartBase.Palette"/> property has changed. Override in sub-classes to handle this event.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.Dispose">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.DisposeInternal">
            <summary>
            Called when the control is disposed. Override to handle this event
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.OnApplyTemplate">
            <summary>
            Invoked when the template is applied.
            </summary>
            <remarks>
            Assigns <see cref="P:Visiblox.Charts.ChartBase.LayoutRoot"/>, <see cref="P:Visiblox.Charts.ChartBase.PlotArea"/>, <see cref="P:Visiblox.Charts.ChartBase.TitleArea"/>, <see cref="P:Visiblox.Charts.ChartBase.Legend"/>
                and sets up the context menu.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.OnApplyTemplateInternal">
            <summary>
            Called when the template is applied. Override to handle this event.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.Invalidate">
            <summary>
            Requests the Invalidation of this chart object (and dependent objects where required)
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.DoInvalidate">
            <summary>
            Invalidates the chart
            </summary>
            <remarks>
            Instructs the legend to update and invokes <see cref="M:Visiblox.Charts.ChartBase.InvalidateInternal"/>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.InvalidateInternal">
            <summary>
            Implements invalidation of the chart.
            </summary>
            <remarks>
            Should only execute if <see cref="P:Visiblox.Charts.ChartBase.TemplateApplied"/> is set to true.
            Responsibilities include:
            - Checking for watermark
            - Redrawing of series
            - Rescaling of axes
            - Redrawing of annotations (if supported)
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.UpdateLegend">
            <summary>
            Updates the position and items of the legend, taking <see cref="P:Visiblox.Charts.ChartBase.LegendOrdering"/> into account.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.UpdateLegendPosition">
            <summary>
            Updates the position of the legend
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.ChartSizeChanged">
            <summary>
            Invoked when the size of the chart has changed and there is no layout cycle detected.
            Override in sub-classes to handle this event.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.PlotAreaSizeChanged(System.Windows.SizeChangedEventArgs)">
            <summary>
            Invoked when the size of the plot area has changed and no layout cycles are detected. 
            Override in sub-classes to handle this event.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.PrepareForTemplateApplication">
            <summary>
            Empties out all containers. Called before the template is applied.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.Chart_SizeChanged(System.Object,System.Windows.SizeChangedEventArgs)">
            <summary>
            Invoked when the size of the chart has changed.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.PlotArea_SizeChanged(System.Object,System.Windows.SizeChangedEventArgs)">
            <summary>
            Invoked when the size of the plot area has changed.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.SetupContextMenu">
            <summary>
            Set up a context menu to appear on right clicking the plot area.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.DisplayAboutBox">
            <summary>
            Display an "About visiblox" modal dialog, with the Visiblox logo, website URL, the AssemblyVersion, and an OK button.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.TitleProperty">
            <summary>
            Identifies the Title Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.TitleStyleProperty">
            <summary>
            Identifies the TitleStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendVisibilityProperty">
            <summary>
            Identifies the LegendVisibility Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendTitleProperty">
            <summary>
            Identifies the LegendTitle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendStyleProperty">
            <summary>
            Identifies the LegendStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendTemplateProperty">
            <summary>
            Identifies the LegendTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendVerticalAlignmentProperty">
            <summary>
            Identifies the LegendVerticalAlignment Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendHorizontalAlignmentProperty">
            <summary>
            Identifies the LegendHorizontalAlignment Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendOrderingProperty">
            <summary>
            Identifies the LegendOrdering Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.LegendMaxHeightRatioProperty">
            <summary>
            Identifies the LegendMaxHeightRatio Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.PlotAreaStyleProperty">
            <summary>
            Identifies the PlotAreaStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.PlotAreaBorderStyleProperty">
            <summary>
            Identifies the PlotAreaBorderStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartBase.PaletteProperty">
            <summary>
            Identifies the Palette Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartBase.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.ChartBase.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="P:Visiblox.Charts.ChartBase.WatermarkImage">
            <summary>
            Gets the watermark for free version
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartBase.TemplateApplied">
            <summary>
            Gets or sets whether the template has been applied
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartBase.Legend">
            <summary>
            Gets the Legend from the chart's visual tree
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartBase.TitleArea">
            <summary>
            Gets the Title textblock from the chart's visual tree
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LayoutRoot">
            <summary>
            Gets the root of element of the charts visual tree.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartBase.PlotArea">
            <summary>
            Gets the grid which contains the gridlines and series.
            </summary>
            <remarks>If the Background Brush of the PlotArea is set to null, Behaviours will not be supported.</remarks>
        </member>
        <member name="P:Visiblox.Charts.ChartBase.Title">
            <summary>
            Gets or sets the title of the chart. This text appears on top of the chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.TitleStyle">
            <summary>
            Gets or sets the visual style of the title. The Style should have a TargetType of TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendVisibility">
            <summary>
            Gets or sets the visibility of the chart legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendTitle">
            <summary>
            Gets or sets the title of the legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendStyle">
            <summary>
            Gets or sets the visual style of the legend. The Style should have a TargetType of Legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendTemplate">
            <summary>
            Gets or sets the control template applied to the legend. This ControlTemplate should have a TargetType of Legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendVerticalAlignment">
            <summary>
            Gets or sets the vertical alignment of the legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendHorizontalAlignment">
            <summary>
            Gets or sets the horizontal alignment of the legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendOrdering">
            <summary>
            Gets or sets the ordering method for items in the chart legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.LegendMaxHeightRatio">
            <summary>
            Gets or sets the ratio of the maximum height of the legend compared to the ActualHeight of the chart on a 0.0-1.0 scale. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.PlotAreaStyle">
            <summary>
            Gets or sets the visual style of the plot area (the area where series are plotted). The Style should have a TargetType of Grid. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.PlotAreaBorderStyle">
            <summary>
            Gets or sets the style of the border around the plot area. The Style should have a TargetType of Border. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartBase.Palette">
            <summary>
            Gets or sets the chart Palette. Series styles are determined based on this palette if no explicit styling is applied to them. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.ChartBase.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.IOffsetProvider">
            <summary>
            An IOffsetProvider is responsible for calculating offsets to be applied to the rendering position or geometry of an <see cref="T:Visiblox.Charts.IChartSeries"/>.
            </summary>
            <remarks>
            <para>
            IOffsetProvider provides offset values to a querying <see cref="T:Visiblox.Charts.IChartSeries"/> in order to adjust the render position or geometry. As such,
            methods declared by IOffsetProvider are called during the Invalidation process of an IChartSeries.
            </para>
            <para>
            <see cref="T:Visiblox.Charts.Chart"/> implements IOffsetProvider to represent the concept that it is responsible for providing offsets to all of the 
            <see cref="T:Visiblox.Charts.IChartSeries"/> which are held within its Series property. IOffsetProvider exposes the ability for offsets to be applied
            to IChartSeries rendered as in a side-by-side context, such as <see cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>. Not all IChartSeries operate within
            a side-by-side context, and therefore not all series will interface with Chart as its IOffsetProvider.
            </para>
            <para>
            The subclass <see cref="T:Visiblox.Charts.IStackedOffsetProvider"/> provides extra methods which can be called in order to perform stacking on series.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.Chart"/>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.IStackedOffsetProvider"/>
        </member>
        <member name="M:Visiblox.Charts.IOffsetProvider.GetBaseAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <summary>
            For a given IDataPoint on an <see cref="T:Visiblox.Charts.IChartSeries"/>, get an offset to apply to the
            render position on the base axis.
            </summary>
            <param name="series">The series the data point belongs to.</param>
            <param name="dataPoint">The data point to get the offset for.</param>
            <param name="basePos">The base position of the chart, in render units.</param>
            <returns>An offset, represented as a double.</returns>
        </member>
        <member name="M:Visiblox.Charts.IOffsetProvider.GetPerpendicularAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <summary>
            For a given IDataPoint on an <see cref="T:Visiblox.Charts.IChartSeries"/>, get an offset to apply to the
            render position on the perpendicular axis.
            </summary>
            <param name="series">The series the data point belongs to.</param>
            <param name="dataPoint">The data point to get the offset for.</param>
            <param name="basePos">The base position of the chart, in render units.</param>
            <returns>An offset, represented as a double.</returns>
        </member>
        <member name="M:Visiblox.Charts.IOffsetProvider.GetBaseAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <summary>
            For a given <see cref="T:Visiblox.Charts.IChartSeries"/>, get the offset <see cref="T:System.Windows.Media.PathGeometry"/> that should
            act as the base 'path' on the base axis. This is used by <see cref="T:Visiblox.Charts.StackedLineSeries"/> to enable stacked areas.
            </summary>
            <param name="series">The series to get the offsetted path for.</param>
            <returns>A <see cref="T:System.Windows.Media.PathGeometry"/> representing the series 'below' this series in a stacking context.</returns>
        </member>
        <member name="M:Visiblox.Charts.IOffsetProvider.GetPerpendicularAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <summary>
            For a given <see cref="T:Visiblox.Charts.IChartSeries"/>, get the offset <see cref="T:System.Windows.Media.PathGeometry"/> that should
            act as the base 'path' on the perpendicular axis. This is used by <see cref="T:Visiblox.Charts.StackedLineSeries"/> to enable stacked areas.
            </summary>
            <param name="series">The series to get the offsetted path for.</param>
            <returns>A <see cref="T:System.Windows.Media.PathGeometry"/> representing the series 'below' this series in a stacking context.</returns>
        </member>
        <member name="M:Visiblox.Charts.IOffsetProvider.GetSeries">
            <summary>
             Accessor to the series used for offset calculations.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IOffsetProvider.GetSideBySideSeries(Visiblox.Charts.IChartSeries)">
            <summary>
            Accessor to all of the IChartSeries which are to be rendered in a side-by-side context
            </summary>
            <param name="series">The identifying series.</param>
            <returns>A List of <see cref="T:Visiblox.Charts.IChartSeries"/> which are to be rendered in a side-by-side context.</returns>
        </member>
        <member name="M:Visiblox.Charts.IOffsetProvider.GetSideBySideWidth(Visiblox.Charts.IChartSeries)">
            <summary>
            Get the full width of the area in which side-by-side series are to be plotted in.
            Calls to GetBaseAxisOffsetForDataPoint will subsequently determine where within this width a series will be plotted at.
            </summary>
            <param name="series">The identifying series.</param>
            <returns>The full width of the plottable area.</returns>
        </member>
        <member name="F:Visiblox.Charts.Chart._axisMarginFactor">
            <summary>
            The factor applied to the data range in order to leave a small margin around the 
                data points within the plot area.
            The factor is applied to the left, right and top of bar charts 
                and to the left and right of other charts
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart._currentCultureInfo">
            <summary>
            The CultureInfo currently used by the chart. It is used to be able to determine when the CurrentThread.CultureInfo
                has changed
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart._xAxisRelay">
            <summary>
            AxisEventRelays to keep track of changes to ActualRange's properties
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.PalettePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Chart.XAxis_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a property has changed on the X axis
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.Chart.SecondaryXAxis_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Invoked when a property has changed on the secondary X Axis.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.YAxis_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Invoked when a property has changed on the Y Axis
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.SecondaryYAxis_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Invoked when a property has changed on the secondary Y Axis
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.OnYAxisPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when the y axis itself has changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.OnSecondaryYAxisPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when the secondary y axis itself has changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.OnAdditionalPrimaryYAxesPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when the primary y axes itself has changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.OnAdditionalSecondaryYAxesPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Invoked when the primary y axes itself has changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.HandleAxisChange(System.Windows.DependencyPropertyChangedEventArgs,Visiblox.Charts.AxisEventRelay,System.Windows.Controls.Grid,Visiblox.Charts.AxisLocation,System.ComponentModel.PropertyChangedEventHandler,System.Boolean)">
            <summary>
            Handle an axis change by unsubscribing events/property changed handlers, removing the old axis from its container,
            and deinitialising it. The new axis has event / property changed handlers assigned, is added to a container and initialised.
            </summary>
            <param name="e">The Dependency Property Changed Event Args, which identifies the old and new axes.</param>
            <param name="axisEventRelay">The event relay which subscribes to the new axis.</param>
            <param name="axisContainer">The container to place the new axis in.</param>
            <param name="axisLocation">The location to place the new axis.</param>
            <param name="axisPropertyChangedHandler">The property changed handler which subscribes to the new axis.</param>
            <param name="inXAxes">Is the new axis an X axis?</param>
        </member>
        <member name="M:Visiblox.Charts.Chart.ReplaceAxisAwareAxisWithNewAxis(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis,System.Boolean)">
            <summary>
            Replace IAxisAware objects with a new axis.
            </summary>
            <param name="oldAxis">The axis being replaced.</param>
            <param name="newAxis">The new axis.</param>
            <param name="inXAxes">Whether the axis is an X axis.</param>
        </member>
        <member name="M:Visiblox.Charts.Chart.MoveLegendToContainer(System.Windows.Controls.Panel)">
            <summary>
            Moves the legend to its new container
            </summary>
            <param name="container"></param>
        </member>
        <member name="M:Visiblox.Charts.Chart.Axis_ValueConversionChanged(System.Object,System.EventArgs)">
            <summary>
            Called when the display position - axis value conversion has changed for an axis.
            Note: We use this method rather than an AxisEventRelay as we don't care about property changes on ActualRange etc.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AdditionalPrimaryXAxes_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the primary x axes collection has changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AdditionalPrimaryYAxes_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the primary y axes collection has changed 
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AdditionalSecondaryXAxes_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the secondary x axes collection has been changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AdditionalSecondaryYAxes_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the primary y axes collection has changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.Axis_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a property has changed on any of the axes
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.Chart.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.DisposeInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Chart.OnApplyTemplateInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Chart.PrepareForTemplateApplication">
            <summary>
            Empties out all containers. Called before the template is applied.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.UpdateLegend">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Chart.UpdateLegendPosition">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Chart.PlotAreaSizeChanged(System.Windows.SizeChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Chart.AssociateAndScaleAxes">
            <summary>
            (Re-)associates the axes with the chart and scales them.
            Does not invalidate the axes.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.ChartSizeChanged">
            <summary>
            Invoked when the size of the chart has changed.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.ComputeValueRange(Visiblox.Charts.IAxis,System.Boolean)">
            <summary>
            Computes the value range for the given axis - this is also responsible for only showing visible data if 
            AutoScaleToVisibleData is true on the axis and have a range on another axis
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.GrowRange(Visiblox.Charts.IAxis,Visiblox.Charts.IRange,Visiblox.Charts.IRange)">
            <summary>
            Grow <paramref name="range"/> to include the series range <paramref name="seriesRange"/>.
            If <paramref name="range"/> is null, creates a new range as copy of <paramref name="seriesRange"/>.
            </summary>
            <param name="axis">The axis that belongs to the range to be grown.</param>
            <param name="range">The target range to grow.</param>
            <param name="seriesRange">Range to grow by</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.ComputeXValueRange(Visiblox.Charts.IAxis)">
            <summary>
            Computes the union of the X value ranges of all the series.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.ComputeYValueRange(Visiblox.Charts.IAxis)">
            <summary>
            Computes the union of the Y value ranges of all the series.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.InvalidateInternal">
            <inheritdocs />
        </member>
        <member name="M:Visiblox.Charts.Chart.SetAxisRenderingEnabledState(System.Boolean)">
            <summary>
            Applies the specified value to the RenderingEnabled state of all axes to turn on and off
            axis rendering for the whole chart
            </summary>
            <param name="isEnabled">True if axis rendering should be enabled or false otherwise</param>
        </member>
        <member name="M:Visiblox.Charts.Chart.InvalidateSeries">
            <summary>
            Invalidates all the series on this chart, also setting them the appropriate entry from the palette.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.Series_DataSeriesCollectionChanged(System.Object,System.EventArgs)">
            <summary>
            Invoked when a DataSeries property of a ChartSeries raises a CollectionChanged event
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.Series_SeriesPropertyChangedAggregate(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a series raises a PropertyChanged event, if this is the YAxis or one of the ranges then ranges are recalculated.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.Series_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the Series property raises a CollectionChanged event, i.e.
            a series has been added / removed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AddSeries(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <summary>
            Add legend entries for the given series
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.RemoveSeries(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <summary>
            Remove legend entries and auto assigned axes for the given series
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.MultiSeries_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the Series property of an IChartMultipleSeries raises a CollectionChanged event, i.e.
            a series has been added / removed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AutoScaleAxes(System.Boolean)">
            <summary>
             Scales any of the axes that do not have a Range set so that 
             they have a suitable range to accommodate the data.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AutoScaleAxis(Visiblox.Charts.IAxis,System.Boolean,System.Boolean)">
            <summary>
            Auto scales the passed axis if required
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.ScaleAxis(Visiblox.Charts.IRange,Visiblox.Charts.IAxis,System.Boolean)">
            <summary>
            Scales the given axis to accommodate the given range.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AddAxesToChart(System.Collections.IList,Visiblox.Charts.AxisLocation,System.Boolean)">
            <summary>
             Do all the setup required for adding a list of new Axes to the chart. To be used 
             from various Axis DP change handlers.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.RemoveAxesFromChart(System.Collections.IList,System.Boolean)">
            <summary>
             Do all the setup required for removing a list of old Axes from the chart. To be used 
             from various Axis DP change handlers.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.CreateAxis(System.IComparable)">
            <summary>
            Create an axis of type determined by the argument value.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AssociateAxesWithChart">
            <summary>
            Ensures that each series is associated with a pair of axes.
            If no axes are assigned to the chart it tries to auto-generate them
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.AddAxisElementToContainer(System.Windows.UIElement,System.Windows.Controls.Grid,Visiblox.Charts.AxisLocation,System.Boolean)">
            <summary>
            Adds an axis to the axis container (if it is not already in it), creates a new column or row for it (as according to isX)
            and sets the container columns / rows to update.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.SetAxisContainerColumns(System.Windows.Controls.Grid,Visiblox.Charts.AxisLocation)">
            <summary>
            Sets the container columns:
             - if the location is primary, the axes are ordered from right to left e.g. 5 4 3 2 1
             - if the location is secondary, the axis are ordered from left to right e.g. 1 2 3 4 5
            This means the oldest column is always nearest the plot area.
            </summary>
            <param name="axisContainer"></param>
            <param name="axisLocation"></param>
        </member>
        <member name="M:Visiblox.Charts.Chart.SetAxisContainerRows(System.Windows.Controls.Grid,Visiblox.Charts.AxisLocation)">
            <summary>
            Sets the container rows:
            - If the location is primary, the axes are ordered from bottom to top e.g: 5 4 3 2 1
            - If the location is secondary, the axes are ordered from the top to bottom e.g: 1 2 3 4 5
            This means the oldest row is always nearest the plot area.
            </summary>
            <param name="axisContainer"></param>
            <param name="location"></param>
        </member>
        <member name="M:Visiblox.Charts.Chart.ReplaceBehaviourAxisWithNewAxis(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis,System.Boolean)">
            <summary>
            If the behaviour axis was autogenerated, it will be replaced with the new series.
            If the behaviour axis was set manually, an InvalidOperationException will be thrown.
            </summary>
            <param name="oldAxis">The axis to be replace</param>
            <param name="newAxis">The axis to replace the old axis</param>
            <param name="inXAxes">Is this axis an x axis?</param>
        </member>
        <member name="M:Visiblox.Charts.Chart.ReplaceAxisAwareWithNewAxis(Visiblox.Charts.IAxis,Visiblox.Charts.IAxis,System.Boolean,System.Collections.ICollection)">
            <summary>
            If the series axis was autogenerated, it will be replaced with the new series.
            If the series axis was set manually, an InvalidOperationException will be thrown.
            </summary>
            <param name="oldAxis">The axis to be replace</param>
            <param name="newAxis">The axis to replace the old axis</param>
            <param name="inXAxes">Is this axis an x axis?</param>
            <param name="awareItems">A collection of IAxisAware items.</param>
        </member>
        <member name="M:Visiblox.Charts.Chart.CheckAxisIsAssociatedWithSeries(Visiblox.Charts.IAxis,System.Collections.ObjectModel.Collection{Visiblox.Charts.IChartSeries},System.Boolean)">
            <summary>
            Checks if an axis IS associated with the series. This is used when the primary or secondary axes collection is 'reset',
            as a result, we must check all other axes in the chart to see if they are associate to the series. Any series which are left
            must have belonged to an item in the now 'reset' collection
            </summary>
            <param name="axis"></param>
            <param name="filteredSeriesCollection">A series collection to check against (if null will use all series in the <see cref="P:Visiblox.Charts.Chart.Series"/> collection).</param>
            <param name="axisIsAnXAxis"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.IsNotYAxisOf(Visiblox.Charts.IAxis,Visiblox.Charts.IChartSeries)">
            <summary>
            Checks that the axis is not the Y axis of the series, and (when the series Y Axis is autoassigned), that the axis is not the Auto Assigned Axis.
            </summary>
            <param name="axis"></param>
            <param name="series"></param>
            <returns>True when the series is not associated with this axis</returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.IsNotXAxisOf(Visiblox.Charts.IAxis,Visiblox.Charts.IChartSeries)">
            <summary>
            Checks that the axis is not the x axis of the series, and (when the series x Axis is autoassigned), that the axis is not the Auto Assigned Axis.
            </summary>
            <param name="axis"></param>
            <param name="series"></param>
            <returns>True when the series is not associated with this axis</returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.IsYAxisOf(Visiblox.Charts.IAxis,Visiblox.Charts.IChartSeries)">
            <summary>
            Checks that the axis is the Y axis of the series, or (when the series Y Axis is autoassigned), that the axis is the Auto Assigned Axis.
            </summary>
            <param name="axis"></param>
            <param name="series"></param>
            <returns>True when the series is associated with this axis</returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.IsXAxisOf(Visiblox.Charts.IAxis,Visiblox.Charts.IChartSeries)">
            <summary>
            Checks that the axis is the X axis of the series, or (when the series X Axis is autoassigned), that the axis is the Auto Assigned Axis.
            </summary>
            <param name="axis"></param>
            <param name="series"></param>
            <returns>True when the series is associated with this axis</returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.CheckAxesAreAssociatedWithSeries(Visiblox.Charts.AxisCollection,System.Collections.ObjectModel.Collection{Visiblox.Charts.IChartSeries},System.Boolean)">
            <summary>
            Calls <see cref="M:Visiblox.Charts.Chart.CheckAxisIsAssociatedWithSeries(Visiblox.Charts.IAxis,System.Collections.ObjectModel.Collection{Visiblox.Charts.IChartSeries},System.Boolean)"/> for each axis in the AxisCollection
            </summary>
            <param name="axes"></param>
            <param name="seriesCollection"></param>
            <param name="axisIsAnXAxis"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.AssignZoomFromExistingAxis(System.Boolean,Visiblox.Charts.IAxis)">
            <summary>
            Copies the zoom from an existing axis to the new axis if the new axis doesn't have a zoom
            </summary>
            <param name="inXAxes"></param>
            <param name="newAxis"></param>
        </member>
        <member name="M:Visiblox.Charts.Chart.ResetBarAndColumnCaches">
            <summary>
            Reset the bar and column series and width caches.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.GetCachedColumnWidth(Visiblox.Charts.IChartSeries)">
            <summary>
            Accessor to the _cachedColumnWidth cache.
            </summary>
            <param name="series">The calling series, which will be used to recalculate the width upon a cache miss.</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.GetCachedBarWidth(Visiblox.Charts.IChartSeries)">
            <summary>
            Accessor to the _cachedBarWidth cache.
            </summary>
            <param name="series">The calling series, which will be used to recalculate the width upon a cache miss.</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.AssociateSeries">
            <summary>
            Ensure that every series within Series has an OffsetProvider set to this Chart instance.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Chart.GetSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.Chart.GetBaseAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.Chart.GetPerpendicularAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
            Not implemented on Chart.
        </member>
        <member name="M:Visiblox.Charts.Chart.GetBaseAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
            Not implemented on Chart.
        </member>
        <member name="M:Visiblox.Charts.Chart.GetPerpendicularAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
            Not implemented on Chart.
        </member>
        <member name="M:Visiblox.Charts.Chart.GetSideBySideSeries(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.Chart.GetSideBySideWidth(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.Chart.CalculateSideBySideWidth(Visiblox.Charts.IChartSeries)">
            <summary>
            When there is a cache miss, recalculate the width for bar or columns.
            </summary>
            <param name="series">The series responsible for the call.</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.GetRenderableDataPoints(Visiblox.Charts.IDataSeries,Visiblox.Charts.IAxis,Visiblox.Charts.BarSeriesType)">
            <summary>
            For a given data series, compile a list of the render positions of all renderable data points.
            </summary>
            <param name="dataSeries">The DataSeries to run through.</param>
            <param name="baseAxis">The axis on which to calculate render positions for.</param>
            <param name="type">The type, which determines the value to use from each data point to calculate a render position.</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.GetBaseAxisValue(Visiblox.Charts.IDataPoint,Visiblox.Charts.BarSeriesType)">
            <summary>
            As BarOrColumnSeriesBase works in an axis-independent manner, this helper method is used
            to select the correct value from a datapoint (based on the type parameter) to use for axis
            queries.
            </summary>
            <param name="dataPoint">The data point to obtain a value from.</param>
            <param name="type">The type of BarOrColumnSeriesBase this data point belongs to.</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Chart.GetInitialSideBySideValues(System.Double@,Visiblox.Charts.IAxis@,Visiblox.Charts.BarSeriesType@,Visiblox.Charts.BarOrColumnSeriesBase,Visiblox.Charts.StackedBarSeries,Visiblox.Charts.StackedColumnSeries,Visiblox.Charts.IChartSeries)">
            <summary>
            Helper method to get the inital configuration for calculating the side by side widths in GetSideBySideWidth.
            </summary>
            <param name="barWidth">The variable to assign the initial bar width to.</param>
            <param name="baseAxis">The variable to assign the base axis to.</param>
            <param name="seriesType">The variable to assingn the series type to.</param>
            <param name="barSeries">A bar or column series</param>
            <param name="stackedBar">A stacked bar series</param>
            <param name="stackedCol">A stacked column series</param>
            <param name="series">The calling IChartSeries.</param>
        </member>
        <member name="M:Visiblox.Charts.Chart.GetBarWidthFraction(Visiblox.Charts.BarOrColumnSeriesBase,Visiblox.Charts.StackedBarSeries,Visiblox.Charts.StackedColumnSeries)">
            <summary>
            Gets a bar width fraction, firstly by looking at the barSeries, then the stacked bar series, and finally the stacked column series.
            </summary>
            <param name="barSeries">A bar or column series</param>
            <param name="stackedBar">A stacked bar series</param>
            <param name="stackedCol">A stacked column series</param>
            <returns></returns>
        </member>
        <member name="F:Visiblox.Charts.Chart.BehaviourProperty">
            <summary>
            Identifies the Behaviour Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.XAxisProperty">
            <summary>
            Identifies the XAxis Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.YAxisProperty">
            <summary>
            Identifies the YAxis Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.SecondaryYAxisProperty">
            <summary>
            Identifies the SecondaryYAxis Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.SecondaryXAxisProperty">
            <summary>
            Identifies the SecondaryXAxis Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.AdditionalPrimaryYAxesProperty">
            <summary>
            Identifies the AdditionalPrimaryYAxes Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.AdditionalSecondaryYAxesProperty">
            <summary>
            Identifies the AdditionalSecondaryYAxes Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.AdditionalPrimaryXAxesProperty">
            <summary>
            Identifies the AdditionalPrimaryXAxes Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.AdditionalSecondaryXAxesProperty">
            <summary>
            Identifies the AdditionalSecondaryXAxes Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.SeriesProperty">
            <summary>
            Identifies the Series Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Chart.LegendPositionProperty">
            <summary>
            Identifies the LegendPosition Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Chart.BehaviourContainer">
            <summary>
            Gets the panel used to render <see cref="T:Visiblox.Charts.IBehaviour"/> objects.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Chart.AllAxes">
            <summary>
            Returns an enumerable of all the axes attached to the chart
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Chart.AxisOnChartIsSetToAutoScaleToVisibleData">
            <summary>
            Gets whether an axis on the chart is set to auto scale to visible data
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Chart.AxisOnChartHasValidRangeSet">
            <summary>
            Returns whether any of the main (X, Secondary X, Y and Secondary Y) axes have a valid range set
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Chart.AxesHaveRange">
            <summary>
            Checks whether there are both X (or secondary X) and Y (or secondary Y) axes, and that some points have been added to them.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Chart.Behaviour">
            <summary>
            Gets or sets the behaviour that is currently associated with the chart. Behaviours integrate with the chart in order to provide some form of interactivity. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.XAxis">
            <summary>
            Gets or sets the X Axis of the chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.YAxis">
            <summary>
            Gets or sets the (primary) Y Axis of the chart. This is an alias for YAxes[0]. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.SecondaryYAxis">
            <summary>
            Gets or sets the secondary Y Axis of the chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.SecondaryXAxis">
            <summary>
            Gets or sets the secondary X Axis of the chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.AdditionalPrimaryYAxes">
            <summary>
            Gets or sets the additional primary Y axes. This is a collection of IAxis objects. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.AdditionalSecondaryYAxes">
            <summary>
            Gets or sets the additional secondary Y axes. This is a collection of IAxis objects. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.AdditionalPrimaryXAxes">
            <summary>
            Gets or sets the additional primary X axes. This is a collection of IAxis objects. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.AdditionalSecondaryXAxes">
            <summary>
            Gets or sets the additional secondary X axes. This is a collection of IAxis objects. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.Series">
            <summary>
            Gets or sets the collection of chart series that are on this chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Chart.LegendPosition">
            <summary>
            Gets or sets the position of the legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.ChartWithSimpleLayoutBase">
            <summary>
            Represents a base class for Visiblox charts that's layout is simple: the legend is always outside
                of the plot area.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartWithSimpleLayoutBase.OnApplyTemplate">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartWithSimpleLayoutBase.UpdateLegendPosition">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartWithSimpleLayoutBase.MoveLegendToContainer(System.Windows.Controls.Panel)">
            <summary>
            Moves the legend to its new container
            </summary>
            <param name="container"></param>
        </member>
        <member name="F:Visiblox.Charts.ChartWithSimpleLayoutBase.LegendPositionProperty">
            <summary>
            Identifies the LegendPosition Dependency Property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartWithSimpleLayoutBase.LegendPosition">
            <summary>
            Gets or sets the position of the legend. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.BindableDataPoint">
            <summary>
            Represents a data point with binding support, which is stored in the <see cref="T:Visiblox.Charts.BindableDataSeries"/> class.
            </summary>
            <remarks>
            <para>
            Rather than being created directly, a BindableDataPoint is created by a <see cref="T:Visiblox.Charts.BindableDataSeries"/> 
            automatically based on its source data collection.</para>
            <para>The data point may be single or multiple-valued, as required.</para>
            <para>When binding to a BindableDataPoint, it is possible to bind to properties of the source item via its DataContext.</para>
            <para>
            If the bound source item does not implement IComparable, it will be wrapped
            in the <see cref="T:Visiblox.Charts.BindableDataPointValueAdapter"/> adapter class which implements IComparable.
            </para>
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.IDataPoint">
            <summary>
            Represents a point within a data series.
            </summary>
            <remarks>
            IDataPoint can define either a two dimensional point with X and Y value (See <see cref="T:Visiblox.Charts.DataPoint`2"/> and <see cref="T:Visiblox.Charts.BindableDataPoint"/>),
            or a multi Y-dimensional point with a single X value and multiple Y values (See <see cref="T:Visiblox.Charts.MultiValuedDataPoint`2"/>).
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.IDataPoint.Item(System.Object)">
            <summary>
            Gets the Y values for this datapoint associated with this indexer.  This is of particular interest where a single data point
            has multiple y values (e.g. open, close, high and low).  Normally the indexer will be an enum or string representing the
            y value associated with it.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IDataPoint.X">
            <summary>
            Gets the X value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IDataPoint.Y">
            <summary>
            Gets the Y value for this datapoint.  The behaviour of this property is undefined value in the case of multiple y values
            being present, as there is no single universally correct value to return here.  In such cases the indexer should be used instead.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IDataPoint.YValueMaximum">
            <summary>
            Gets or maximum of the Y values
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IDataPoint.YValueMinimum">
            <summary>
            Gets the minimum of the Y values
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IDataPoint.Model">
            <summary>
            Gets the model item that the point represents
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BindableDataPoint.XValueProperty">
            <summary>
            Identifies the XValue Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BindableDataPoint.YValueProperty">
            <summary>
            Identifies the YValue Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPoint.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.BindableDataPoint.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="F:Visiblox.Charts.BindableDataPoint._convertedXValue">
            <summary>
            Holds the value of <see cref="P:Visiblox.Charts.BindableDataPoint.XValue"/>. 
            If XValue is IComparable, this is the casted value of XValue, otherwise it's 
                XValue wrapped in a BindableDataPointValueWrapper.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BindableDataPoint._convertedYValue">
            <summary>
            Holds the value of <see cref="P:Visiblox.Charts.BindableDataPoint.YValue"/>. 
            If YValue is IComparable, this is the casted value of YValue, otherwise it's 
                YValue wrapped in a BindableDataPointValueWrapper.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BindableDataPoint._yValues">
            <summary>
            A dictionary of binding slaves, one for each Y value binding.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPoint.#ctor(Visiblox.Charts.BindableDataSeries,System.Object)">
            <summary>
            Constructor
            </summary>
            <param name="dataSeries">The dataseries that contains this BindableDataPoint.</param>
            <param name="model">The model that the datapoint binds to</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPoint.AddYValue(System.String,System.Windows.Data.Binding)">
            <summary>
            Constructs a <see cref="T:Visiblox.Charts.YValueBindingSlave"/> for the given binding.
            </summary>
            <param name="name">The Y-value that his slave represents.</param>
            <param name="yValue">Binding for this Y value slave.</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPoint.BoundInstanceEquals(System.Object)">
            <summary>
            Decides whether the supplied object and its bound instance are equal
            </summary>
            <param name="instance">The instance to compare against</param>
            <returns>whether the supplied instance and bound instance are equal</returns>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPoint.Slave_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Handles property changed events from the Y value binding slaves
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPoint.SetConvertedXValue">
            <summary>
            Sets the value of <see cref="F:Visiblox.Charts.BindableDataPoint._convertedXValue"/> based on <see cref="P:Visiblox.Charts.BindableDataPoint.XValue"/>
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPoint.SetConvertedYValue">
            <summary>
            Sets the value of <see cref="F:Visiblox.Charts.BindableDataPoint._convertedYValue"/> based on <see cref="P:Visiblox.Charts.BindableDataPoint.YValue"/>
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.XValue">
            <summary>
            Gets or sets the XValue property. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.YValue">
            <summary>
            Gets or sets the YValue property. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.BindableDataPoint.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.Model">
            <summary>
            Gets the model it represents.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.DataSeries">
            <summary>
            The data series containing this data point.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.X">
            <summary>
            Gets the X value for this datapoint.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.Y">
            <summary>
            Gets the Y value for this datapoint.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.YValueMaximum">
            <summary>
            Gets the maximum of the Y values
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.YValueMinimum">
            <summary>
            Gets the maximum of the Y values
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.Item(System.Object)">
            <summary>
             Indexes the Y Value data range.
             For single value Y points this is just the Y Point itself.
            </summary>
            <param name="indexer">The index (or key) for a Y value</param>
            <returns>The Y value at the given <paramref name="indexer"/></returns>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPoint.Item(System.String)">
            <summary>
            Gets or sets indexer for the Y Axis values
            </summary>
            <param name="indexer">The Y Value description</param>
            <returns>The indexed Y value</returns>
        </member>
        <member name="T:Visiblox.Charts.YValueBindingSlave">
            <summary>
            Represents a class which is used to evaluate a binding. 
            </summary>
            <remarks>
            An instance of this class is created for each of the Y Value bindings in a <see cref="T:Visiblox.Charts.BindableDataPoint"/>.
            A YValueBindingSlave need never be manually created to use a <see cref="T:Visiblox.Charts.BindableDataSeries"/>,
            this is taken care of automatically.
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.YValueBindingSlave.ValueProperty">
            <summary>
            Identifies the Value Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.YValueBindingSlave.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.YValueBindingSlave.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="M:Visiblox.Charts.YValueBindingSlave.#ctor">
            <summary>
            Constructs a slave for the given named Y value.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.YValueBindingSlave.Value">
            <summary>
            Gets or sets the Value property. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.YValueBindingSlave.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Legend">
            <summary>
            Represents a chart legend rendered as a collection of <see cref="T:Visiblox.Charts.LegendItem"/>
            instances each bound to a series.
            </summary>
            <remarks>
            Each <see cref="T:Visiblox.Charts.Chart"/> has one legend, represented as a Legend object. The legend is never created nor
            modified by the chart user, but instead the chart adds and removes items to the legend based upon the
            series in the chart. The <see cref="P:Visiblox.Charts.ChartBase.LegendVisibility"/>,
            <see cref="P:Visiblox.Charts.ChartBase.LegendStyle"/>, and
            <see cref="P:Visiblox.Charts.ChartBase.LegendOrdering"/> properties of the <see cref="T:Visiblox.Charts.Chart"/> can be used to 
            alter the behaviour of the legend.
            </remarks>
            <example>
            Customizing legend appearance can be done by changing it's template (by setting the <see cref="P:Visiblox.Charts.ChartBase.LegendTemplate"/>
                property). The default template applied to the Legend is the following:
            <code source="Help\Charts\IncludedCode\LegendTemplate.xml" lang="XAML"/>
            </example>
            
        </member>
        <member name="F:Visiblox.Charts.Legend.TitleProperty">
            <summary>
            Identifies the Title Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Legend.TitleStyleProperty">
            <summary>
            Identifies the TitleStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Legend.OrderingProperty">
            <summary>
            Identifies the Ordering Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Legend.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.Legend.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="M:Visiblox.Charts.Legend.#ctor">
            <summary>
             Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Legend.OnApplyTemplate">
            <summary>
            Sets up the visual representation of the Legend.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Legend.AddLegendItem(System.Object)">
            <summary>
            Adds a <see cref="T:Visiblox.Charts.LegendItem"/> to the UI which represents the
            given series.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Legend.AddLegendItemToPanel(Visiblox.Charts.LegendItem)">
            <summary>
            Actually add a <see cref="T:Visiblox.Charts.LegendItem"/> (which has been created and bindings set up) to the panel.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Legend.InsertSorted(System.Windows.Controls.UIElementCollection,Visiblox.Charts.LegendItem)">
            <summary>
            Insert a legend item into the alphabetically sorted panel in the appropriate place.
            </summary>
            <param name="collection"></param>
            <param name="item"></param>
        </member>
        <member name="M:Visiblox.Charts.Legend.RemoveLegendItem(System.Object)">
            <summary>
            Removes <see cref="T:Visiblox.Charts.LegendItem"/> from the UI which represents the
            given series.
            </summary>
            <param name="series"></param>
        </member>
        <member name="F:Visiblox.Charts.Legend._legendItemsToAdd">
            <summary>
            A list of legend items to add to the panel
            when OnApplyTemplate is invoked.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Legend.Title">
            <summary>
            Gets or sets the legend title. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Legend.TitleStyle">
            <summary>
            Gets or sets the style applied to the legend title. The Style should have a TargetType of TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Legend.Ordering">
            <summary>
            Gets or sets the ordering of legend items. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.Legend.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.ZoomCanvas">
            <summary>
            Represents a canvas which provides a zooming effect for its child elements.
            </summary>
            <remarks>
            A ZoomCanvas behaves like a <see cref="T:System.Windows.Controls.Canvas"/> which can reposition / scale 
            its child elements based on  its <see cref="P:Visiblox.Charts.Primitives.ZoomCanvas.XZoom"/> and <see cref="P:Visiblox.Charts.Primitives.ZoomCanvas.YZoom"/> properties. 
            Like <see cref="T:System.Windows.Controls.Canvas"/>, ZoomCanvas has a <see cref="P:Visiblox.Charts.Primitives.ZoomCanvas.Children"/> property which is 
            a collection containing the items displayed on the canvas. In addition, ZoomCanvas defines two attached 
            dependency properties which control the repositioning or rescaling of these items. 
            The <c>ZoomCanvas.ElementPosition</c> property defines the position of a <see cref="T:System.Windows.UIElement"/>, 
            which will be changed on zoom to move the element appropriately (without rescaling it). Alternatively, the 
            <c>ZoomCanvas.IsScaledPath</c> property indicates that a <see cref="T:System.Windows.Shapes.Path"/> should be 
            rescaled on zoom, so that it will be enlarged or shrunk appropriately.  <c>ZoomCanvas.ElementPosition</c> should be used
            to handle shapes on which a resizing effect is not desired when zooming in (e.g. points on a line series, where the size
            of the ellipses should remain constant regardless of the zoom factor). <c>ZoomCanvas.IsScaledPath</c> should be set where
            a path defining the child of the zoom canvas should have the zoom applied to it (e.g. columns in a column chart, 
            which should become larger when zooming in).  Note also when making changes to an element for which IsScaledPath is set to true, 
            a manual call to <see cref="M:Visiblox.Charts.Primitives.ZoomCanvas.RepositionOrRescaleElement(System.Windows.FrameworkElement)"/> should be made to notify the chart to update the scaling of that element.</remarks>
            <example>The following example creates a ZoomCanvas in XAML, with a square set to be scaled, and a circle set 
            to be repositioned.
            The XZoom is set to 0.5, resulting in half as much data being shown and an apparent 'zoom in'. No offset is applied, so the shapes'
            bottom left corner will remain in the same location. As the square has <c>ZoomCanvas.IsScaledPath</c> set to true, the square
            will becomes a rectangle twice as wide as it is high.
            <code source="Help\Charts\IncludedCode\ZoomCanvasExample.xml" lang="XAML"/>
            </example>
        </member>
        <member name="F:Visiblox.Charts.Primitives.ZoomCanvas.XZoomProperty">
            <summary>
            Identifies the XZoom Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.ZoomCanvas.YZoomProperty">
            <summary>
            Identifies the YZoom Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.Primitives.ZoomCanvas.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="F:Visiblox.Charts.Primitives.ZoomCanvas.NullPoint">
            <summary>
            Indicates an invalid point. This is used by the ElementPosition DP because Point is not nullable.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.#ctor">
            <summary>
            Creates an instance of the Zoom canvas.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.ZoomCanvas.ElementPositionProperty">
            <summary>
            Sets the position of an element when in a non-zoomed state.  Using this attached property will result in the 
            element being translated into the right place during a zoom but it will not be resized at all.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.SetElementPosition(System.Windows.DependencyObject,System.Windows.Point)">
            <summary>
             Sets the position of an element when in a non-zoomed state.
            </summary>
            <param name="obj">The object to add element position to</param>
            <param name="position">The elements position</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.GetElementPosition(System.Windows.DependencyObject)">
            <summary>
            Gets the position of an element when in a non-zoomed state.
            </summary>
            <param name="obj">The object to find the position of</param>
            <returns>The position of the object</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnElementPositionPropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Static property changed handler
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.ZoomCanvas.IsScaledPathProperty">
            <summary>
            Indicates that a Path should be scaled on zoom.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.SetIsScaledPath(System.Windows.Shapes.Path,System.Boolean)">
            <summary>
            Sets whether a Path should be scaled on zoom.
            </summary>
            <param name="path">The path which this property is attached to.</param>
            <param name="scaled">Whether to scale <paramref name="path"/> on zoom.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.GetIsScaledPath(System.Windows.Shapes.Path)">
            <summary>
            Gets whether a Path should be scaled on zoom.
            </summary>
            <param name="path">The path which this property is attached to.</param>
        </member>
        <member name="F:Visiblox.Charts.Primitives.ZoomCanvas.ElementHasBeenPositionedProperty">
            <summary>
            Indicates that a translate transform has been added to a shape in order
            to reposition it.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.SetElementHasBeenPositioned(System.Windows.FrameworkElement,System.Boolean)">
            <summary>
            Indicates that a translate transform has been added to a shape
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.GetElementHasBeenPositioned(System.Windows.FrameworkElement)">
            <summary>
            Indicates that a translate transform has been added to a shape
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnXZoomPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Instance property changed handler
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnYZoomPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Instance property changed handler
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnApplyTemplate">
            <summary>
            Handles the visual layout of the element.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.ZoomCanvas_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Called when the Children collection changes. Attempts to rescale/reposition only the added items
            rather than causing a full RefreshZoom.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.RepositionOrRescaleElement(System.Windows.FrameworkElement)">
            <summary>
            Reposition or rescale the element. This is used to force a rescale/reposition when the chart contents changes for some reason
            other than zooming occurring.
            </summary>
            <param name="element">The FrameworkElement to reposition or resize</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.RepositionElement(System.Windows.DependencyObject,System.Windows.Point)">
            <summary>
            Re-positions an element 
            </summary>
            <param name="element">The element to move</param>
            <param name="nonZoomedPosition">The non zoomed position that the item was added to the control as</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.ComputeScaleTransform">
            <summary>
            Computes the transformation required to render an element
            appropriately based on the current X / Y axis zoom scale.
            </summary>
            <returns>The new scale transforms</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.ComputeOffsetTransform">
            <summary>
            Computes the transformation required to render an element
            appropriately based on the current X / Y axis zoom offset.
            </summary>
            <returns>The new scale transforms</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnZoomChanged">
            <summary>
            Refreshes both the scale of the elements on the canvas and the offset of the canvas.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnZoomScaleChanged">
            <summary>
             Refreshes the scale of the children of the canvas.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.OnZoomOffsetChanged">
            <summary>
             Refreshes the offset of the canvas.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.ZoomScaleChangedSinceLastTransform">
            <summary>
            Returns whether the scale on the zoom has changed since the last transform.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.ZoomOffsetChangedSinceLastTransform">
            <summary>
            Returns whether the offset on the zoom has changed since the last transform.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.RescalePath(System.Windows.Media.Transform,System.Windows.Shapes.Path)">
            <summary>
            Rescale a path by setting its transform to the pre-computed scale transform, if different.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.ComputeUnZoomedCoordinate(System.Windows.Point)">
            <summary>
            Computes the location that the given non-zoomed point has.
            </summary>
            <param name="position">A point within the chart plot area
            when the zoom is not applied</param>
            <returns>The location of this point (without the current zoom applied).</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.Zoom_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Handles PropertyChanges from the X or Y Zoom properties
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.RefreshPropertyChangeSubscriptions(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Unsubscribes / re-subscribes to PropertyChanged events for the given
            Zoom object.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.TransformationsAreEqual(System.Windows.Media.TransformGroup,System.Windows.Media.TransformGroup)">
            <summary>
            Checks if two TransformationGroups are equal
            </summary>
            <param name="tg1"></param>
            <param name="tg2"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.TransformationsAreEqual(System.Windows.Media.TranslateTransform,System.Windows.Media.TranslateTransform)">
            <summary>
            Checks if two TranslateTransforms are equal
            </summary>
            <param name="t1"></param>
            <param name="t2"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ZoomCanvas.TransformationsAreEqual(System.Windows.Media.ScaleTransform,System.Windows.Media.ScaleTransform)">
            <summary>
            Checks if two ScaleTransforms are equal
            </summary>
            <param name="t1"></param>
            <param name="t2"></param>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ZoomCanvas.XZoom">
            <summary>
            Gets or sets the XZoom property, used to apply a zoom to the canvas in the X direction. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Primitives.ZoomCanvas.YZoom">
            <summary>
            Gets or sets the YZoom property, used to apply a zoom to the canvas in the Y direction. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.Primitives.ZoomCanvas.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ZoomCanvas.Children">
            <summary>
            Gets the collection of items displayed on this canvas.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.PiePiece">
            <summary>
            A PiePiece which represents a slice of a <see cref="T:Visiblox.Charts.PieChart"/>. The PiePiece has a notion of it's <see cref="P:Visiblox.Charts.PiePiece.DataPoint"/> and 
            it's <see cref="P:Visiblox.Charts.PiePiece.Element"/> which it uses to render.
            </summary>
            <remarks>
            Currently the only way to change the colour of the PiePieces within the <see cref="T:Visiblox.Charts.PieChart"/> is to use the <see cref="P:Visiblox.Charts.ChartBase.Palette"/>. This is
            because the list of Pie Pieces is not available through the public API.
            </remarks>
            <remarks>
            The notion of interaction is offered for individual pieces as well as the entire chart <see cref="P:Visiblox.Charts.PieChart.IsInteractionEnabled"/>. When hovered over,
            the <see cref="P:Visiblox.Charts.PiePiece.HighlightedStyle"/> will be applied to this piece and <see cref="P:Visiblox.Charts.PiePiece.IsHighlighted"/> will be set to true. When clicked on, the 
            <see cref="P:Visiblox.Charts.PiePiece.SelectedStyle"/> will be applied to this piece and <see cref="P:Visiblox.Charts.PiePiece.IsSelected"/> will be set to true.
            </remarks>
            <remarks>
            <see cref="P:Visiblox.Charts.PiePiece.LegendItemStyle"/> and <see cref="P:Visiblox.Charts.PiePiece.LegendItemTemplate"/> are offered to allow for easy manipulation of the pie piece representation within
            the <see cref="T:Visiblox.Charts.PieChart"/>.
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.Primitives.IInteractable">
            <summary>
            Defines an element that supports selection and highlighting interactions.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IInteractable.IsSelected">
            <summary>
            Gets or sets whether the element is selected
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IInteractable.IsHighlighted">
            <summary>
            Gets or sets whether the element is highlighted
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IInteractable.IsInteractionEnabled">
            <summary>
            Gets or sets whether interaction with the element is enabled
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.PercentProperty">
            <summary>
            Identifies the Percent Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.RotationAngleProperty">
            <summary>
            Identifies the RotationAngle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.StrokeProperty">
            <summary>
            Identifies the Stroke Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.StrokeThicknessProperty">
            <summary>
            Identifies the StrokeThickness Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.FillProperty">
            <summary>
            Identifies the Fill Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.NormalStyleProperty">
            <summary>
            Identifies the NormalStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.HighlightedStyleProperty">
            <summary>
            Identifies the HighlightedStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.SelectedStyleProperty">
            <summary>
            Identifies the SelectedStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.IsSelectedProperty">
            <summary>
            Identifies the IsSelected Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.IsHighlightedProperty">
            <summary>
            Identifies the IsHighlighted Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.IsInteractionEnabledProperty">
            <summary>
            Identifies the IsInteractionEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.LegendItemStyleProperty">
            <summary>
            Identifies the LegendItemStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.LegendItemTemplateProperty">
            <summary>
            Identifies the LegendItemTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.IsExplodingProperty">
            <summary>
            Identifies the IsExploding Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.AnimationEnabledProperty">
            <summary>
            Identifies the AnimationEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.AnimationDurationProperty">
            <summary>
            Identifies the AnimationDuration Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.ExplodePercentProperty">
            <summary>
            Identifies the ExplodePercent Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.ShowLabelsProperty">
            <summary>
            Identifies the ShowLabels Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PiePiece.LabelStyleProperty">
            <summary>
            Identifies the LabelStyle Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.PiePiece.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.GetTransformValue(System.String)">
            <summary>
            Gets the label transform value in the X or Y direction
            </summary>
            <param name="coordDirection">Which direction to get the transform value for - "X" or "Y"</param>
            <returns>Transform value</returns>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.SetNormalStyle">
            <summary>
            Set normal style
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.SetSelectedStyle">
            <summary>
            Set selected style
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.OnApplyTemplate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.PiePiece.Invalidate">
            <summary>
            Sends a request to the InvalidationHandler to be invalidated
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.DoInvalidate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.PiePiece.CreateTranslateTransform(System.Double,System.Double)">
            <summary>
            Creates a translate transform to move an element a given distance in a given direction
            </summary>
            <param name="distance">The absolute distance it will translate by</param>
            <param name="angle">The direction in radians the it will translate in</param>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.AnimateExplode(System.Windows.Media.TranslateTransform,System.Double,System.Double)">
            <summary>
            Animates the explosion transform
            </summary>
            <param name="explode">The translation to apply</param>
            <param name="toX">The current X position of the piece</param>
            <param name="toY">The current Y position of the piece</param>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.ResolveStyle(System.Windows.Style)">
            <summary>
            Resolve style targeting PiePiece to Shape 
            </summary>
            <param name="piePieceStyle"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.ConvertDegreeToRadian(System.Double)">
            <summary>
            Converts an angle specified in Degrees to Radians.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.OnHighlightChanged">
            <summary>
            Raises the HighlightChanged event
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PiePiece.OnSelectionChanged">
            <summary>
            Raises the SelectionChanged event
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PiePiece.Percent">
            <summary>
            Gets or sets the percentage value this PiePiece represents. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.RotationAngle">
            <summary>
            Gets or sets the amount to rotate the PiePiece by so that it fits in the correct 'slot' in the pie. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.Stroke">
            <summary>
            Gets or sets the brush used to draw around the PiePiece. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.StrokeThickness">
            <summary>
            Gets or sets the thickness of the brush used to draw around the PiePiece. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.Fill">
            <summary>
            Gets or sets the brush used to fill the area of the PiePiece. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.NormalStyle">
            <summary>
            Gets or sets the style used to create the PieSegments. Use this setter to set the style of the chart instead of the Style property on <see cref="T:System.Windows.FrameworkElement"/> objects. This should have a TargetType of FrameworkElement. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.HighlightedStyle">
            <summary>
            Gets or sets the style used to create the PieSegments. This style is combined with <see cref="P:Visiblox.Charts.PiePiece.NormalStyle"/> when rendering. This should have a TargetType of FrameworkElement. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.SelectedStyle">
            <summary>
            Gets or sets the style used to create the PieSegments. This style is combined with <see cref="P:Visiblox.Charts.PiePiece.NormalStyle"/> when rendering. This should have a TargetType of FrameworkElement. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.IsSelected">
            <summary>Gets or sets whether the series is selected.</summary><remarks>This value can only be true if selection is enabled on the series, that is <see cref="T:Visiblox.Charts.SelectionMode"/> is set to <see cref="F:Visiblox.Charts.SelectionMode.Series"/>.Generally clicking on the series will select it, if it is selectable, but this property can also be manipulated programmatically.</remarks>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.IsHighlighted">
            <summary>Gets or sets whether the series is highlighted.</summary><remarks> This value can only be true if selection is enabled on the series, that is <see cref="T:Visiblox.Charts.SelectionMode"/> is set to <see cref="F:Visiblox.Charts.SelectionMode.Series"/>. Generally hovering over the series will highlighted it, if it is selectable, but this property can also be manipulated programmatically.</remarks>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.IsInteractionEnabled">
            <summary>
            Gets or sets whether interaction with the series is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.LegendItemStyle">
            <summary>
            Gets or sets LegendItemStyle. This property is used to style the legend item belonging to this series. The Style should have a TargetType of LegendItem. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.LegendItemTemplate">
            <summary>
            Gets or sets LegendItemTemplate. This property defines the template of the legend item belonging to this series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.IsExploding">
            <summary>
            Gets or sets whether the highlight mode is Exploding. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.AnimationEnabled">
            <summary>
            Gets or sets whether animation is enabled when exploding pieces. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.AnimationDuration">
            <summary>
            Gets or sets the duration of the exploding animation in seconds. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.ExplodePercent">
            <summary>
            Gets or sets the percentage of the radius used to move pieces on interaction. A value of 1 represents 100%. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.ShowLabels">
            <summary>
            Gets or set whether the pie piece label is visible. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PiePiece.LabelStyle">
            <summary>
            Gets or sets the style used for the label. This should have a TargetType of TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.PiePiece.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PiePiece.LabelSize">
            <summary>
            Returns the label width for this pie piece for calculating chart diameter
            and label positions
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PiePiece.MaximumExplodePercent">
            <summary>
            The maximum explode percent of all styles - used to work out chart size
            when adding labels to ensure labels are not pushed out of plot area when
            a piece explodes out 
            </summary>
        </member>
        <member name="E:Visiblox.Charts.PiePiece.HighlightChanged">
            <summary>
            Used to indicate that this pie piece has been highlighted. The PieChart listens to this and resets
            the style of all other PiePieces.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.PiePiece.SelectionChanged">
            <summary>
            Used to indicate that this pie piece has been selected. The PieChart listens to this and modifies
            SelectedItems accordingly
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PiePiece.Element">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.PiePiece.DataPoint">
            <summary>
            Gets the DataPoint associated with this Pie Piece. This is set by the PieChart when it is created.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PiePiece.SideLength">
            <summary>
            Gets the length of the side of this pie piece.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PiePiece.PlotArea">
            <summary>
            The PlotArea of the PieChart is required to transform the piece into the center
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PiePiece.HighlightSetByMouse">
            <summary>
            An internal property to dictate whether this shape was highlighted by the user rather
            than the mouse entering. This is used along with PieceHighlighted to allow the chart
            to unhighlight other pieces in case they have missed the MouseLeave event. If a piece
            has been programatically highlighted, we don't want to change this.
            </summary>
            <seealso cref="M:Visiblox.Charts.PieChart.UnhighlightAllPieces"/>
        </member>
        <member name="T:Visiblox.Charts.ChartSeriesCommonBase">
            <summary>
            Represents the base class for <see cref="T:Visiblox.Charts.IChartSeriesCommon"/> implementations, defining common behaviour held for all Visiblox chart series
            
            </summary>
            <remarks>
            <para>
            This class is responsible for providing properties relating to styling and basic handling of the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.DataSeries"/> of the series.
            </para>
            <para>
            A class inheriting from ChartSeriesCommonBase represents a particular type of series which is drawn on a <see cref="T:Visiblox.Charts.Chart"/>.
            A chart series defines how data is presented on the chart; the data to display is given by its <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.DataSeries"/> property.
            </para>
            <para>ToolTip support is implemented in this class, and can be enabled via the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.ToolTipEnabled"/> property.
            Each series defines a default tooltip format, but tooltips can also be customised as described in the example below.</para>
            <para>Styling: to style a series, do this by either setting its style specific properties or by setting <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.NormalStyle"/>.
            Using the Style property to style the series is not advised, use NormalStyle instead.</para>
            <para>A trackball can be added to a series by adding a <see cref="T:Visiblox.Charts.TrackballBehaviour"/> to the chart. 
            ChartSeriesBase supports the trackball implementation by providing templating and styling support for trackballs, with a suitable
            default defined for each series, again see the example below.</para>
            <para>
            By default, no range calculations are performed at this level - and calls to <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.XRange"/> and <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.YRange"/> at this
            level in the hierarchy will return null. Instead, concrete range calculations are performed by specialised classes like
            <see cref="T:Visiblox.Charts.ChartSingleSeriesBase"/>, and <see cref="T:Visiblox.Charts.ChartMultipleSeriesBase"/>.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IChartSeriesCommon"/>
            <seealso cref="T:Visiblox.Charts.ChartSeriesBase"/>
        </member>
        <member name="T:Visiblox.Charts.IChartSeriesCommon">
            <summary>
            Defines members both Cartesian and radial series implement.
            </summary>
            <remarks>
            The common members that both Cartesian and radial series need to implement include the 
            data series (<see cref="P:Visiblox.Charts.IChartSeriesCommon.DataSeries"/>, <see cref="M:Visiblox.Charts.IChartSeriesCommon.IsDataSeriesValid"/>,<see cref="E:Visiblox.Charts.IChartSeriesCommon.DataSeriesCollectionChanged"/>),
            range of the series (<see cref="P:Visiblox.Charts.IChartSeriesCommon.XRange"/>, <see cref="P:Visiblox.Charts.IChartSeriesCommon.YRange"/>),
            rendering of a point (<see cref="M:Visiblox.Charts.IChartSeriesCommon.IsPointRenderable(Visiblox.Charts.IDataPoint)"/>, <see cref="M:Visiblox.Charts.IChartSeriesCommon.GetPointRenderPosition(Visiblox.Charts.IDataPoint)"/>)
            and initalization logic (<see cref="M:Visiblox.Charts.IChartSeriesCommon.Init"/>, <see cref="M:Visiblox.Charts.IChartSeriesCommon.DeInit"/>).
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.IChartSeriesCommon.IsPointRenderable(Visiblox.Charts.IDataPoint)">
            <summary>
            Returns whether the point can be rendered on the canvas.
            </summary>
            <param name="dataPoint">Data point to test</param>
            <returns>Whether the point can be rendered.</returns>
        </member>
        <member name="M:Visiblox.Charts.IChartSeriesCommon.GetPointRenderPosition(Visiblox.Charts.IDataPoint)">
            <summary>
            Returns the physical render coordinates of the logical point <paramref name="dataPoint"/>
            </summary>
            <param name="dataPoint">The data point to get the render position of.</param>
            <returns>The render coordinates of <paramref name="dataPoint"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.IChartSeriesCommon.IsDataSeriesValid">
            <summary>
            Check to see if the Data Series is valid (i.e non-null).
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.IChartSeriesCommon.GetFirstOrDefault">
            <summary>
            Get the first or default data point from the DataSeries
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.IChartSeriesCommon.Init">
            <summary>
            Initialises the series, registering event handlers.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IChartSeriesCommon.DeInit">
            <summary>
            Deinitialises the series, removing any event handlers present (but retaining references to its axes, data series, etc).
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IChartSeriesCommon.XRange">
            <summary>
            Gets or sets the X range of the plotted series. This is a volatile object.
            </summary>
            <remarks>This may be the data series value range, or may be enlarged to account for the displayed width/height of points.
            For example the X range occupied by a column series is wider than the range of the data by half of the width of a column, on both maximum and minimum.</remarks>
            <remarks> Do not change the properties on this object as it may be overwritten by the chart. 
            Instead use IRadialAxis.Range to set a specific range.</remarks>
        </member>
        <member name="P:Visiblox.Charts.IChartSeriesCommon.YRange">
            <summary>
            Gets or sets the Y range of the plotted series. This is a volatile object.
            </summary>
            <remarks>This may be the data series value range, or may be enlarged to account for the displayed width/height of points.
            For example the Y range occupied by a bar series is wider than the range of the data by half of the width of a bar, on both maximum and minimum.</remarks>
            <remarks> Do not change the properties on this object as it may be overwritten by the chart. 
            Instead use IRadialAxis.Range to set a specific range.</remarks>
        </member>
        <member name="P:Visiblox.Charts.IChartSeriesCommon.DataSeries">
            <summary>
            Gets or sets the data series this plotted by this series.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.IChartSeriesCommon.DataSeriesCollectionChanged">
            <summary>
            Occurs when the DataSeries collection changes, or a point within the collection
            raises a PropertyChanged event.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IChartSeriesCommon.NormalStyle">
            <summary>
            Gets or sets the style applied to the series. Use this setter to set the style of the chart 
            instead of the Style property on <see cref="T:System.Windows.FrameworkElement"/> objects.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IChartSeriesCommon.IsDisplayedOnLegend">
            <summary>
            Gets or sets whether the series should be displayed on the legend of the chart
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.DataSeriesProperty">
            <summary>
            Identifies the DataSeries Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.LegendItemStyleProperty">
            <summary>
            Identifies the LegendItemStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.LegendItemTemplateProperty">
            <summary>
            Identifies the LegendItemTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.ToolTipEnabledProperty">
            <summary>
            Identifies the ToolTipEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.ToolTipTemplateProperty">
            <summary>
            Identifies the ToolTipTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.ToolTipPositionProperty">
            <summary>
            Identifies the ToolTipPosition Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.ToolTipStyleProperty">
            <summary>
            Identifies the ToolTipStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.TrackballTemplateProperty">
            <summary>
            Identifies the TrackballTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.TrackballStyleProperty">
            <summary>
            Identifies the TrackballStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.NormalStyleProperty">
            <summary>
            Identifies the NormalStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.IsDisplayedOnLegendProperty">
            <summary>
            Identifies the IsDisplayedOnLegend Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesCommonBase.OffsetProviderProperty">
            <summary>
            Identifies the OffsetProvider Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.ChartSeriesCommonBase.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.AreKeyPropertiesNull">
            <summary>
            Identify if the key rendering properties are null.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ClearSelectedItems">
            <summary>
            Clear selected items
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.OnApplyTemplate">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.Init">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.InitInternalBase">
            <summary>
            Override to implement custom initalization.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.DeInit">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.DeInitInternalBase">
            <summary>
            Override to implement custom deinitalization.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.Invalidate">
            <inheritdocs />
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.DoInvalidate">
            <summary>
            <inheritdoc/>
            </summary>
            <remarks>
            For implementers of series, this method checks that a number of key
            properties are non-null then invokes <see cref="M:Visiblox.Charts.ChartSingleSeriesBase.InvalidateInternal"/>.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.GetPointRenderPosition(Visiblox.Charts.IDataPoint)">
            <summary>
            Returns the physical render coordinates of the logical point <paramref name="dataPoint"/>
            </summary>
            <param name="dataPoint">The data point to get the render position of.</param>
            <returns>The render coordinates of <paramref name="dataPoint"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.IsPointRenderable(Visiblox.Charts.IDataPoint)">
            <summary>
            Returns whether the point can be rendered on the canvas.
            </summary>
            <remarks>This method should generally be used in preference to direct computation, 
            as the result is cached. Override <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.IsPointRenderableInternal(Visiblox.Charts.IDataPoint)"/> to define what it is
            for a point to be renderable.</remarks>
            <param name="dataPoint">Data point to test</param>
            <returns>Whether the point can be rendered.</returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.IsDataSeriesValid">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.GetFirstOrDefault">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.InvalidateBase">
            <summary>
            Invalidation functionality for further base classes.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.Highlight">
            <summary>
            Highlight
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ClearCanvas">
            <summary>
            Invoked when the series has been rendered but then is no longer to be rendered: this method should clear
            off the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.RootZoomCanvas"/> and any internal data structures which may be invalid.
            </summary>
            <remarks>This base implementation simply clears the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.RootZoomCanvas"/> and the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.DataPoints"/> structure.</remarks>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ResubscribeToPropertyChangeRelay(Visiblox.Charts.IDataSeries,Visiblox.Charts.IDataSeries)">
            <summary>
            Resubscribe to PropertyChangedRelay event.
            </summary>
            <param name="oldDataSeries"></param>
            <param name="newDataSeries"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ResubscribeToCollectionChanged(Visiblox.Charts.IDataSeries,Visiblox.Charts.IDataSeries)">
            <summary>
            Resubscribe to collectionChanged event.
            </summary>
            <param name="oldDataSeries"></param>
            <param name="newDataSeries"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.UpdateDataSeriesWithRanges">
            <summary>
            Update Data Series that have ranges.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.UpdateDataPoint(Visiblox.Charts.IDataPoint,Visiblox.Charts.IDataPoint,System.Int32)">
            <summary>
            Called when a data point has been updated (either by being replaced by a new data point, or changed in value).
            </summary>
            <remarks>This default implementation simply calls <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.Invalidate"/>.</remarks>
            <param name="oldPoint">The original data point. In case that a property has been updated, this is <paramref name="newPoint"/>.</param>
            <param name="newPoint">The updated data point. In case that a property has been updated, this is <paramref name="oldPoint"/>.</param>
            <param name="index">The index of the data point.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.RemoveDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <summary>
            Called when a data point is removed from the data series and should be removed from the display.
            </summary>
            <remarks>This default implementation simply calls <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.Invalidate"/>.</remarks>
            <param name="point">Point which was removed.</param>
            <param name="index">Original index of the point.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.AddDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <summary>
            Called when a data point is added to the data series and should be displayed.
            </summary>
            <remarks>This default implementation simply calls <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.Invalidate"/>.</remarks>
            <param name="point">Point which was added.</param>
            <param name="index">Index of the point.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.MergeWith(System.Windows.Style)">
            <summary>
            Merge a style.
            </summary>
            <param name="style"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.GetStyle">
            <summary>
            Get the appropriate style to apply.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.OnStyleUpdated">
            <summary>Called when the style of the series has been updated. The <see cref="T:System.Windows.Style"/> of the series will be
            appropriate to the current series selection mode when this method is called.
            </summary>
            <remarks>The series may wish to cache computed styles at this point, for example to handle highlighting.</remarks>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.CreateShapeStyle(System.Windows.Style,System.Windows.Media.Brush,System.Windows.Media.Brush,System.Double)">
            <summary>
            Creates a style for a Shape type using the passed arguments.
            </summary>
            <param name="style">Style of the point. If null, it will not be applied.</param>
            <param name="fill">Fill of the point. If null, it will not be applied.</param>
            <param name="stroke">Stroke of the point. If null, it will not be applied.</param>
            <param name="strokeThickness">">Stroke thickness of the point. If null, it will not be applied.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ConvertValueToBrush(System.Object)">
            <summary>
            Helper method which converts the value passed to a brush using <see cref="T:Visiblox.Charts.Primitives.StringToSolidColorBrushConverter"/>
            </summary>
            <param name="value">Value to convert to a brush via the converter.</param>
            <returns>A <see cref="T:System.Windows.Media.SolidColorBrush"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.OnDataSeriesCollectionChanged(System.EventArgs)">
            <summary>
            Raises the DataSeriesCollectionChanged event.
            </summary>
            <param name="e">The change event arguments</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.AddToolTip(System.Windows.UIElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Adds a tooltip to the given UI element (if tooltips are enabled).
            </summary>
            <remarks>If tooltips are disabled, AddToolTip ensures the given element does not have a tooltip.</remarks>
            <param name="element">The UI element to add a tooltip to.</param>
            <param name="point">The data point to provide as the DataContext of the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.ToolTipTemplate"/>. 
            If the point is a BindableDataPoint, it's DataContext will be used.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.IsPointRenderableInternal(Visiblox.Charts.IDataPoint)">
            <summary>
            Returns whether the point can be rendered on the canvas.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.SelectBaseAxis">
            <summary>
            Which axis, given an x axis or y axis, should be used as the base axis?
            By default, returns xAxis. Override this method should different functionality be required.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.UseSearchMetadata(Visiblox.Charts.IAxisCommon)">
            <summary>
            Returns whether search metadata should be used for the type of axis passed.
            </summary>
            <param name="axis"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ResetMetadataOnConversionChange(Visiblox.Charts.IAxisCommon)">
            <summary>
            Resets mthe metadata
            </summary>
            <remarks>
            If the value conversion of an axis changed, we must assume cached renderable flags are invalid
            </remarks>
            <param name="axis"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.UpdateSortedMetadata">
            <summary>
             Updates the sorted metadata. To be called upon changes anything which can alter the
             renderable state of the data points - for example change to the DataSeries, or the axes bound to the series.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.RemoveSelectedItem(Visiblox.Charts.IDataPoint)">
            <summary>
            Remove a selected point.
            </summary>
            <param name="point"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.RemoveSelectedItems">
            <summary>
            Remove selected items.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.RemoveOldSelectedPoints">
            <summary>
            Remove any old selected points
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.SetDpStylesOnStyle(System.Windows.Style)">
            <summary>
            Sets NormalStyle on <paramref name="style"/>
                if they're not already set.
            </summary>
            <param name="style"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.RefreshSingleDataPoint(Visiblox.Charts.IDataPoint)">
            <summary>
            Perform an update on the given data point, computing its index in the DataSeries.
            </summary>
            <param name="point"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ComputeMinimumDistanceBetweenPoints">
            <summary>
            Determine the minimum distance between points on the X axis.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.DataSeries_PropertyChangedRelay(System.Object,Visiblox.Charts.PropertyChangedRelayerEventArgs)">
            <summary>
            Invoked when the DataSeries dependency property raises a PropertyChangeRelayerEvent
            </summary>
            <param name="sender">The object raising the relay event.</param>
            <param name="e">The event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.OnCustomStyleDependencyPropertyChanged(System.Windows.DependencyProperty,System.Object)">
            <summary>
            Deals with changes of custom dependency properties
            </summary>
            <param name="dp"></param>
            <param name="value"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.MeasurePoint(System.Windows.FrameworkElement)">
            <summary>
            Returns the desired size of <paramref name="element"/>.
            This method returns ActualWidth/ ActualHeight if they're not 0, otherwise 
                DesiredSize.Width / DesiredSize.Height.
            </summary>
            <param name="element"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.CheckIfPropertyOverridesStyleSetter(System.Windows.DependencyProperty,System.String,System.Windows.Style,System.String,System.Windows.DependencyProperty,System.String)">
            <summary>
            Checks if the <paramref name="dominantProperty"/> on the class overrides the appropriate <paramref name="dominatedProperty"/>
                setter in the <paramref name="dominatedStyle"/> style. If so, it outputs a warning message.
            </summary>
            <param name="dominantProperty"></param>
            <param name="dominantPropertyName"></param>
            <param name="dominatedStyle"></param>
            <param name="dominatedStyleName"></param>
            <param name="dominatedProperty"></param>
            <param name="dominatedStyleProperty"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ResolvePropertyValue``1(System.Windows.Style,System.Windows.DependencyProperty,System.Func{System.Object,``0})">
            <summary>
            Resolve the appropriate property value for the specified <paramref name="property"/> on this series, considering
            any explicitly set property value as top precedence, followed by a setter in the given <paramref name="seriesStyle"/>
            (generally highlighted or selected style), and last the normal computed value of <paramref name="property"/> on this series
            (ie a styled value).
            </summary>
            <typeparam name="T">Type of the property.</typeparam>
            <param name="seriesStyle">Style whose setters are checked for a property matching <paramref name="property"/>.</param>
            <param name="property">Property to resolve the value for.</param>
            <param name="setterConverter">Function to use to convert a setter value to a resolved value of type <typeparamref name="T"/>.</param>
            <returns>Resolved value as described.</returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.ResolvePropertyValue``1(System.Windows.Style,System.Windows.DependencyProperty)">
            <summary>
            Resolve the appropriate property value for the specified <paramref name="property"/> on this series, considering
            any explicitly set property value as top precedence, followed by a setter in the given <paramref name="seriesStyle"/>
            (generally highlighted or selected style), and last the normal computed value of <paramref name="property"/> on this series
            (ie a styled value).
            </summary>
            <typeparam name="T">Type of the property.</typeparam>
            <param name="seriesStyle">Style whose setters are checked for a property matching <paramref name="property"/>.</param>
            <param name="property">Property to resolve the value for.</param>
            <returns>Resolved value as described.</returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.DataSeries_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the DataSeries dependency property raises a CollectionChanged event
            </summary>
            <param name="sender">The object raising the CollectionChanged event.</param>
            <param name="e">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.DataSeriesUpdated(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the DataSeries raises a CollectionChanged event to allow the series to update.
            </summary>
            <remarks><para>This base implementation delegates to <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.AddDataPoint(Visiblox.Charts.IDataPoint,System.Int32)"/>, <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.RemoveDataPoint(Visiblox.Charts.IDataPoint,System.Int32)"/>, 
            or <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.UpdateDataPoint(Visiblox.Charts.IDataPoint,Visiblox.Charts.IDataPoint,System.Int32)"/>, depending on the action. By default these methods simply result in an
            <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.Invalidate"/>, but series should override with a more refined implementation for better performance.</para>
            <para>For Reset actions, <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.Invalidate"/> is called directly.</para></remarks>
            <param name="e">Event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.AddRangeToMetaData(System.Collections.Generic.IEnumerable{Visiblox.Charts.IDataPoint})">
            <summary>
            Add an enumeration of data points to the enum
            </summary>
            <param name="points"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesCommonBase.CalculateSuggestedPointWidth">
            <summary>
            Calculates the suggested point width. This is 80% of the minimum distance between two points.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.DataSeries">
            <summary>
            Gets or sets the data series used by this series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.LegendItemStyle">
            <summary>
            Gets or sets LegendItemStyle. This property is used to style the legend item belonging to this series. The Style should have a TargetType of LegendItem. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.LegendItemTemplate">
            <summary>
            Gets or sets LegendItemTemplate. This property defines the template of the legend item belonging to this series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.ToolTipEnabled">
            <summary>
            Gets or sets whether to display tooltips on data points. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.ToolTipTemplate">
            <summary>
            Gets or sets the control template for data point tooltips. The control template should have a TargetType of ToolTip. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.ToolTipPosition">
            <summary>
            Gets or sets the placement mode of the tooltips. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.ToolTipStyle">
            <summary>
            Gets or sets the style used to display datapoint tooltips. The Style should have a TargetType of ToolTip. See <see cref="T:Visiblox.Charts.ChartSeriesBase"/> for an example. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.TrackballTemplate">
            <summary>
            Gets or sets the control template used for a trackball on this series. The ControlTemplate should have a TargetType of ToolTip. See <see cref="T:Visiblox.Charts.ChartSeriesBase"/> for an example. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.TrackballStyle">
            <summary>Gets or sets the Style associated with trackballs on this series. The appropriate TargetType of this Style depends on the TrackballTemplate set on the series.</summary><remarks>The TrackballStyle is bound in the TrackballTemplate, so its use depends on the particular TrackballTemplate set on the series. For a LineSeries this is by default Ellipse, for other series types the default is Polygon</remarks>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.NormalStyle">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.IsDisplayedOnLegend">
            <summary>
            Gets or sets whether the series should be displayed on the legend of the chart. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.OffsetProvider">
            <summary>
            Gets or sets the offset provider. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.ChartSeriesCommonBase.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.RootZoomCanvas">
            <summary>
            Gets the canvas which is the root element of the series
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.SelectablePoints">
            <summary>
            Collection for managing the association between logical data points and the physical elements which represent their interactable area.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.DataPoints">
            <summary>
            Collection for managing the association between logical data points and the physical elements which represent them.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.InvalidateRequestPending">
            <summary>
            Determines whether there is currently an invalidate request pending for this series instance
            </summary>
        </member>
        <member name="E:Visiblox.Charts.ChartSeriesCommonBase.DataSeriesChanged">
            <summary>
            An event fired when the DataSeries property changes.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.XRange">
            <summary>
            <inheritdoc/>
            </summary>
            <remarks>This default implementation simply returns the data range.</remarks>
            <remarks> Do not change the properties on this object as it may be overwritten by the chart. 
            Instead use IAxis.Range to set a specific range.</remarks>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.YRange">
            <summary>
            <inheritdoc/>
            </summary>
            <remarks>This default implementation simply returns the data range.</remarks>
            <remarks> Do not change the properties on this object as it may be overwritten by the chart. 
            Instead use IAxis.Range to set a specific range.</remarks>
        </member>
        <member name="E:Visiblox.Charts.ChartSeriesCommonBase.DataSeriesCollectionChanged">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.Element">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesCommonBase.SuggestedPointWidth">
            <summary>
            Suggested maximum width of points. It's value is 80% of the minimum distance between tow points 
            within the series. Its value is re-calculated whenever <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.Invalidate"/> is called - either
                externally or by the series itself.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Zoom">
            <summary>
            Represents a zoom in one dimension as a <see cref="P:Visiblox.Charts.Zoom.Scale"/> and <see cref="P:Visiblox.Charts.Zoom.Offset"/>.
            </summary>
            <remarks>
            <para>
            The zoomed area of a <see cref="T:Visiblox.Charts.Chart"/> is represented by a pair of Zoom objects - one for 
            <see cref="P:Visiblox.Charts.Chart.XAxis"/> and one for <see cref="P:Visiblox.Charts.Chart.YAxis"/> ( see <seea cref="T:Visiblox.Charts.IAxis"/>). 
            When multiple axes are used (<see cref="P:Visiblox.Charts.Chart.SecondaryYAxis"/>, <see cref="P:Visiblox.Charts.Chart.AdditionalPrimaryYAxes"/> and/or 
            <see cref="P:Visiblox.Charts.Chart.AdditionalSecondaryYAxes"/>) the <see cref="P:Visiblox.Charts.Chart.YAxis"/> Zoom is referenced if the axis is not null, 
            otherwise the <see cref="P:Visiblox.Charts.Chart.SecondaryYAxis"/> Zoom is referenced.
            </para>
            
            Each Zoom is defined using these terms:
            <list type="bullet">
            <item>
                <description><see cref="P:Visiblox.Charts.Zoom.Scale"/> relates to the scale of the axis as a multiplier of its original size, by default this is 1.0. Setting the scale to 0.5 will result in the axis showing half as much data, creating an apparent 'zoom in'. Setting the scale to 2 will result in the axis showing twice as much data, creating an apparent 'zoom out'.</description>
            </item>
            <item>
                <description><see cref="P:Visiblox.Charts.Zoom.Offset"/> relates to the offset along the axis as a multiplier of its original size, by default this is 0.0. Setting this value to 0.5 will result in the viewport moving along the axis half the width of the chart in the positive direction (right for a horizontal axis, upward for a vertical axis).</description>
            </item>
            </list>
            </remarks>
            <example>Creating a chart in XAML which is zoomed in to the top right quarter of the chart:
            <code source="Help\Charts\IncludedCode\ZoomExample.xml" lang="XAML"/>
            </example>
            <seealso cref="T:Visiblox.Charts.IAxis"/>
            <seealso cref="P:Visiblox.Charts.IAxis.Zoom"/>
        </member>
        <member name="F:Visiblox.Charts.Zoom.DEFAULT_ZOOM_SCALE">
            <summary>
            The scale that a newly created zoom should have assigned to.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Zoom.DEFAULT_ZOOM_OFFSET">
            <summary>
            The offset that a newly created zoom should have assigned to.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Zoom.ScaleProperty">
            <summary>
            Identifies the Scale Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Zoom.OffsetProperty">
            <summary>
            Identifies the Offset Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Zoom.OnPropertyChanged(System.String)">
            <summary>
            Raises a <see cref="E:Visiblox.Charts.Zoom.PropertyChanged"/> event for the<see cref="T:System.ComponentModel.INotifyPropertyChanged"/> implementation.
            </summary>
            <param name="propertyName">The name of the property which has changed.</param>
        </member>
        <member name="M:Visiblox.Charts.Zoom.#ctor">
            <summary>
             Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Zoom.#ctor(Visiblox.Charts.Zoom)">
            <summary>
            Constructs a zoom, copying the scale and offset from the passed original zoom.
            </summary>
            <param name="zoom">The zoom to copy from</param>
        </member>
        <member name="P:Visiblox.Charts.Zoom.Scale">
            <summary>
            Gets or sets the scale of the axis as a multiplier of its original size, by default this is 1.0. Setting the scale to 0.5 will result in the axis showing half as much data, creating an apparent 'zoom in'. Setting the scale to 2 will result in the axis showing twice as much data, creating an apparent 'zoom out'. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.Zoom.Offset">
            <summary>
            Gets or sets the offset along the axis as a multiplier of its original size, by default this is 0.0. Setting this value to 0.5 will result in the viewport moving along the axis half the width of the chart in the positive direction (right for a horizontal axis, upward for a vertical axis). Setting this value to -2 will result in the viewport moving along the axis twice the width of the chart in the negative direction (left for a horizontal axis, downward for a vertical axis). This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.Zoom.PropertyChanged">
            <summary>
            Implementation for <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.PieChart">
            <summary>
            Represents a Visiblox Pie Chart, a Pie Chart has one DataSeries (which must be a DataSeries{IComparable, double}), a Title and a Legend. PieCharts are made up
            of a number of <see cref="T:Visiblox.Charts.PiePiece"/>s.
            </summary>
            <remarks>
            <para>
            The <see cref="P:Visiblox.Charts.PieChart.DataSeries"/> must be of type DataSeries{IComparable, double} to be used, this is because a percentage must be calculated for each <see cref="T:Visiblox.Charts.PiePiece"/> 
            of the PieChart. It is only offered as <see cref="T:Visiblox.Charts.IDataSeries"/> to support binding. 
            </para>
            <para>
            Customizing the look of the PieChart can be done either by supplying a new <see cref="T:Visiblox.Charts.Palette"/> or by specifying a completely new template for the pie pieces against 
            <see cref="P:Visiblox.Charts.PieChart.PiePieceTemplate"/>. When setting a palette, that will contain a list of styles which will be cycled through for each pie piece created. 
            The Palette allows for a list of styles to be created (with target type of <see cref="T:Visiblox.Charts.PiePiece"/>), specifying <see cref="P:Visiblox.Charts.PiePiece.Fill"/>, 
            <see cref="P:Visiblox.Charts.PiePiece.Stroke"/> and <see cref="P:Visiblox.Charts.PiePiece.StrokeThickness"/>. It is also possible to set these properties for
            <see cref="P:Visiblox.Charts.PiePiece.HighlightedStyle"/> and <see cref="P:Visiblox.Charts.PiePiece.SelectedStyle"/> for use when <see cref="P:Visiblox.Charts.PieChart.IsInteractionEnabled"/> is true.  If using the template approach
            the template must contain a Grid named LayoutRoot and a Path named PiePiecePath.  The Data and the RenderTransform properties 
            for the PiePiecePath will be set by the render mechanism to render the correct shape with the correct rotation.
            </para>
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.PieChart.DataSeriesProperty">
            <summary>
            Identifies the DataSeries Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.IsInteractionEnabledProperty">
            <summary>
            Identifies the IsInteractionEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.IsExplodingProperty">
            <summary>
            Identifies the IsExploding Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.AnimationEnabledProperty">
            <summary>
            Identifies the AnimationEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.AnimationDurationProperty">
            <summary>
            Identifies the AnimationDuration Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.ShowLabelsProperty">
            <summary>
            Identifies the ShowLabels Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.LabelStyleProperty">
            <summary>
            Identifies the LabelStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.SelectionModeProperty">
            <summary>
            Identifies the SelectionMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.SelectedItemProperty">
            <summary>
            Identifies the SelectedItem Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.SelectedItemsProperty">
            <summary>
            Identifies the SelectedItems Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.PiePieceTemplateProperty">
            <summary>
            Identifies the PiePieceTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.ToolTipEnabledProperty">
            <summary>
            Identifies the ToolTipEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.ToolTipTemplateProperty">
            <summary>
            Identifies the ToolTipTemplate Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.ToolTipPositionProperty">
            <summary>
            Identifies the ToolTipPosition Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.ToolTipStyleProperty">
            <summary>
            Identifies the ToolTipStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart._allowSelectedItemsUpdate">
            <summary>
            When in Single selection mode, we need to be able to update SelectedItems with the one 
            SelectedItem, but not allow the user to modify the collection. This variable is used to allow
            only internal code to modify the collection in Single selection mode.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart._invalidateChart">
            <summary>
            Use this to keep track of when we want to invalidate the entire chart.
            The SelectedItems_CollectionChanged only needs to update the Selected state of
            pie pieces, not redraw everthing.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart._dataSeriesTotalValue">
            <summary>
            Gets the total value of all points in the DataSeries. This can be used to calculate the percent
            which any given DataPoint Y value represents in the DataSeries.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart._piePieces">
            <summary>
            A list of all PiePieces
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChart.SelectedEvent">
            <summary>
            The RoutedEvent to be raised when selection happens
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PieChart.PalettePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.PieChart.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PieChart.DisposeInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.PieChart.OnApplyTemplateInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.PieChart.InvalidateInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.PieChart.UpdatePiePieces">
            <summary>
            Update the pie pieces in the chart and remove the ones that are no longer in the pie
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PieChart.AddToolTip(Visiblox.Charts.PiePiece,Visiblox.Charts.IDataPoint)">
            <summary>
            Adds a tooltip to the given PiePiece (if tooltips are enabled).
            </summary>
            <remarks>If tooltips are disabled, AddToolTip ensures the given element does not have a tooltip.</remarks>
            <param name="piece">The pie piece to add a tooltip to.</param>
            <param name="point">The data point to provide as the DataContext of the <see cref="P:Visiblox.Charts.PieChart.ToolTipTemplate"/>. 
            If the point is a BindableDataPoint, it's DataContext will be used.</param>
        </member>
        <member name="M:Visiblox.Charts.PieChart.UpdateLegend">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.PieChart.StylePiePiece(Visiblox.Charts.PiePiece,System.Int32)">
            <summary>
            Applies a style from the palette
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PieChart.UnhighlightAllPieces">
            <summary>
            When moving the mouse quickly over pieces, Silverlight does not fire MouseEnter/Leave events sometimes
            resulting in pieces remaining highlighted. To overcome this, when a piece is highlighted, all other
            highlighted pieces must be unhighlighted.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PieChart.CalculateDataSeriesTotalValue">
            <summary>
            Calculates the total value of the current DataSeries - this should be called
            whenever the DataSeries changes.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PieChart.PlotAreaSizeChanged(System.Windows.SizeChangedEventArgs)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.PieChart.DataSeries_PropertyChangedRelay(System.Object,Visiblox.Charts.PropertyChangedRelayerEventArgs)">
            <summary>
            Invoked when the DataSeries dependency property raises a PropertyChangeRelayerEvent
            </summary>
            <param name="sender">The object raising the relay event.</param>
            <param name="e">The event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.PieChart.OnDataSeriesCollectionChanged(System.EventArgs)">
            <summary>
            Raises the DataSeriesCollectionChanged event.
            </summary>
            <param name="e">The change event arguments</param>
        </member>
        <member name="M:Visiblox.Charts.PieChart.ValidateSelectedItemsAddition(System.Collections.Generic.IEnumerable{System.Object})">
            <summary>
            Validates that the pie pieces to be added are all in the DataSeries
            </summary>
            <param name="addedPieces">The models to select</param>
        </member>
        <member name="P:Visiblox.Charts.PieChart.DataSeries">
            <summary>
            Gets or sets the DataSeries for this Chart. This must be a DataSeries{IComparable, double}, IDataSeries is offered for binding purposes only. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.IsInteractionEnabled">
            <summary>
            Gets or sets whether interaction with the chart is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.IsExploding">
            <summary>
            Gets or sets whether the highlight mode is Exploding. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.AnimationEnabled">
            <summary>
            Gets or sets whether animation is enabled when exploding pieces. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.AnimationDuration">
            <summary>
            Gets or sets the duration of the exploding animation in seconds. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.ShowLabels">
            <summary>
            Gets or set whether the pie piece labels are visible. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.LabelStyle">
            <summary>
            Gets or sets the style used for the label. This should have a TargetType of TextBlock. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.SelectionMode">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.SelectedItem">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.SelectedItems">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.PiePieceTemplate">
            <summary>
            Gets or sets the ControlTemplate to apply to the individual pie pieces.  The template should ahve a TargetType of PiePiece. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.ToolTipEnabled">
            <summary>
            Gets or sets whether to display tooltips on data points. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.ToolTipTemplate">
            <summary>
            Gets or sets the control template for data point tooltips. The control template should have a TargetType of ToolTip. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.ToolTipPosition">
            <summary>
            Gets or sets the placement mode of the tooltips. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.ToolTipStyle">
            <summary>
            Gets or sets the style used to display datapoint tooltips. The Style should have a TargetType of ToolTip. See <see cref="T:Visiblox.Charts.ChartSeriesBase"/> for an example. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.PieChart.PiePieces">
            <summary>
            Internal accessor for use in testing
            </summary>
        </member>
        <member name="E:Visiblox.Charts.PieChart.DataSeriesCollectionChanged">
            <summary>
            Occurs when the DataSeries collection changes, or a point within the collection
            raises a PropertyChanged event.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.PieChart.SelectionChanged">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.PieChart.ChartDiameter">
            <summary>
            Gets the diameter of the chart to fit in 80% of the PlotArea.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BandSeries">
            <summary>
            Represents a band series where each point has a higher and lower value.
            </summary>
            <remarks>
            <para>
            A band series by default consists of a straight line connecting all higher values in the series and a straight
            line connecting all lower values in the series. An area is present between these lines which may be styled. 
            </para>
            <para>
            When the lines cross, an InvertedAreaStyle is used to represent the inversion. When they re-cross, the normal AreaStyle
            is used again. By default the area fill is not visible, but can be enabled using the ShowArea property.
            </para>
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.ChartSingleSeriesBase">
            <summary>
            ChartSeriesBase is an specialisation of <see cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>, to define a singular chart series.
            </summary>
            <remarks>
            <para>
            Selection is supported on a singular chart series. The <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.SelectionMode"/> dependency property identifies the different
            selection modes available - such as selection of an entire series, a data point or multiple points.
            As such, the <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.SelectedItem"/>, <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.SelectedItems"/> and <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.IsSelected"/> properties provide access to
            the selection state.
            Highlighting is also supported, with the <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.IsHighlighted"/> property identifying if the series is highlighted.
            The <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.SelectedStyle"/> and <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.HighlightedStyle"/> dependency properties allow for the selected and highlighted
            states to be styled.
            </para>
            <para>
            ChartSeriesBase is responsible for overriding the default <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.XRange"/> and <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.YRange"/> calculations, and instead
            will return ranges based upon the values in the <see cref="P:Visiblox.Charts.IChartSeriesCommon.DataSeries"/> held by this chart series.
            </para>
            <para>
            In order to implement a new singular series type, it is advised to extend this class, rather than the parent
            <see cref="T:Visiblox.Charts.ChartSeriesCommonBase"/> as this class provides common singular-series functionality that would
            otherwise have to be implemented on each series; such as selection.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.LineSeries"/>
            <seealso cref="T:Visiblox.Charts.BarSeries"/>
            <seealso cref="T:Visiblox.Charts.ColumnSeries"/>
        </member>
        <member name="T:Visiblox.Charts.ChartSeriesBase">
            <summary>
            Represents the base class for <see cref="T:Visiblox.Charts.IChartSeries"/> implementations, defining common behaviour held for 
            all Cartesian chart series.
            </summary>
            <remarks>
            <para>A series is associated with a pair of axes against which the data is plotted, represented by its <see cref="P:Visiblox.Charts.ChartSeriesBase.XAxis"/> and
            <see cref="P:Visiblox.Charts.ChartSeriesBase.YAxis"/> properties (although in most cases these do not have to be set explicitly).</para>
            <para>It is advised to inherit one of the two specialised versions of this class. For defining a singular series, consider inheriting
            from <see cref="T:Visiblox.Charts.ChartSingleSeriesBase"/>. For defining a multiple series, consider inheriting from <see cref="T:Visiblox.Charts.ChartMultipleSeriesBase"/>.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.LineSeries"/>
            <seealso cref="T:Visiblox.Charts.BarSeries"/>
            <seealso cref="T:Visiblox.Charts.ColumnSeries"/>
            <seealso cref="T:Visiblox.Charts.IChartSeries"/>
            <seealso cref="T:Visiblox.Charts.ChartSingleSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.ChartMultipleSeriesBase"/>
        </member>
        <member name="T:Visiblox.Charts.IChartSeries">
            <summary>
            Defines required members a series needs to implement in order to work within a <see cref="T:Visiblox.Charts.Chart"/>.
            This interface represents a graphical depiction on the chart of a set of data 
            (represented in Visiblox Charts as an implementation of the <see cref="T:Visiblox.Charts.IDataSeries"/> interface).
            </summary>
            <remarks>
            <para>
            <see cref="T:Visiblox.Charts.ChartSeriesBase"/> defines an implementation of this interface, although it is not reccommended
            to implement this class directly. ChartSeriesCommonBase is extended by two further classes which provide more specific series types.
            For implementing a new single series type, it is advised to extend <see cref="T:Visiblox.Charts.ChartSingleSeriesBase"/>,
            which also implements <see cref="T:Visiblox.Charts.IChartSingleSeries"/>. For implementing a new multiple series type, it is advised to extend
            <see cref="T:Visiblox.Charts.ChartMultipleSeriesBase"/>, which also implements <see cref="T:Visiblox.Charts.IChartMultipleSeries"/>.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.ChartSeriesBase"/>
            <seealso cref="P:Visiblox.Charts.Chart.Series"/>
            <seealso cref="T:Visiblox.Charts.IChartSingleSeries"/>
            <seealso cref="T:Visiblox.Charts.ChartSingleSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.IChartMultipleSeries"/>
            <seealso cref="T:Visiblox.Charts.ChartMultipleSeriesBase"/>
        </member>
        <member name="P:Visiblox.Charts.IChartSeries.OffsetProvider">
            <summary>
            An offset provider with which the series will interact with in order to get
            offset values to apply to data points.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesBase.XAxisProperty">
            <summary>
            Identifies the XAxis Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSeriesBase.YAxisProperty">
            <summary>
            Identifies the YAxis Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.GetPointRenderPosition(Visiblox.Charts.IDataPoint)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.SelectBaseAxis">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.IsPointRenderableInternal(Visiblox.Charts.IDataPoint)">
            <summary>
            Determines whether the point can be rendered on the canvas. Subclasses using multiple Y valued data points or
            having other constraints should override IsPointRenderableInternal to enforce validity.
            </summary>
            <remarks><para>This base implementation checks the point's X value and its minimum Y value, which
            in both the case of single and multi-valued data points should indicate that the point is likely to be renderable.
            Subclasses may wish to override this to perform additional or alternative checks, such as the multiple
            Y values used by the series.</para>
            <para>Series implementations should not render points for which IsPointRenderableInternal returns false; when extending
            <see cref="T:Visiblox.Charts.MultiValueSeriesBase"/> or other provided series, beware that 
            these classes will filter out points deemed unrenderable by this method.</para></remarks>
            <param name="dataPoint">Point to check</param>
            <returns>Whether the point is displayable</returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.AreKeyPropertiesNull">
            <summary>
            Identify if the key rendering properties are null.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.ComputeMinimumDistanceBetweenPoints">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.AxisChanged(Visiblox.Charts.IAxis)">
            <summary>
            Invoked when either the XAxis or YAxis property changes.
            </summary>
            <param name="sender">The axis that has changed</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.InitInternalBase">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.InitInternal">
            <summary>
            Override to implement custom initalization.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.DeInitInternalBase">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.DeInitInternal">
            <summary>
            Override to implement custom deinitalization.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSeriesBase.UseSearchMetadata(Visiblox.Charts.IAxisCommon)">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesBase.XAxis">
            <summary>
            Gets or sets the X axis of the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesBase.YAxis">
            <summary>
            Gets or sets the Y axis of the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="E:Visiblox.Charts.ChartSeriesBase.AxisPropertyChanged">
            <summary>
            An event fired upon the changing of the XAxis or YAxis property.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesBase.CachedXAxis">
            <summary>
            Gets or sets the cached <see cref="P:Visiblox.Charts.ChartSeriesBase.XAxis"/> to avoid hitting it repeadetly (as it's a DP)
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSeriesBase.CachedYAxis">
            <summary>
            Gets or sets the cached <see cref="P:Visiblox.Charts.ChartSeriesBase.YAxis"/> to avoid hitting it repeadetly (as it's a DP)
            </summary>
        </member>
        <member name="T:Visiblox.Charts.IChartSingleSeries">
            <summary>
            Defines a singluar chart series.
            </summary>
            <remarks>
            <para>
            IChartSingleSeries implementations are interactable and selectable.
            This functionality is provided by the abstract class <see cref="T:Visiblox.Charts.ChartSingleSeriesBase"/>.
            When implementing a new singular chart series, it is advised to inerit from ChartSeriesBase 
            rather than implementing this interface directly.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IChartSeries"/>
            <seealso cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>
            <seealso cref="T:Visiblox.Charts.ChartSingleSeriesBase"/>
        </member>
        <member name="T:Visiblox.Charts.ISelectableChartSeries">
            <summary>
            Defines required members a series needs to implement to support selection.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ISelectableChartSeries.SelectionMode">
            <summary>
            Gets or sets how the series supports selection.
            </summary>
            <remarks>
            <para>
            The options are no selection, selection of the entire
            series, selection of a single individual point, or the selection of multiple points. These options are 
            mutally exclusive.
            </para>
            <para>
            Selection of points is generally via clicking on the individual point (see <see cref="P:Visiblox.Charts.ISelectableChartSeries.SelectedItems"/>) 
            while selection of the entire series is via clicking on some part of the series (see <see cref="P:Visiblox.Charts.Primitives.IInteractable.IsSelected"/>).
            (different series may choose to
            support this in different ways as appropriate).
            </para>
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.ISelectableChartSeries.SelectedItem">
            <summary>
            Gets or sets the selected item. In case of multiple selected items, it refers to the first one.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ISelectableChartSeries.SelectedItems">
            <summary>
            Gets the list of selected points.
            </summary>
            <remarks>
            <para>
            The selected points collection is altered by clicking on the points of a series, but
            can also be manipulated programmatically.
            </para>
            </remarks>
        </member>
        <member name="E:Visiblox.Charts.ISelectableChartSeries.SelectionChanged">
            <summary>
            Occurs when the currently selected item changes
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.IsInteractionEnabledProperty">
            <summary>
            Identifies the IsInteractionEnabled Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.IsSelectedProperty">
            <summary>
            Identifies the IsSelected Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.IsHighlightedProperty">
            <summary>
            Identifies the IsHighlighted Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.SelectionModeProperty">
            <summary>
            Identifies the SelectionMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.SelectedItemProperty">
            <summary>
            Identifies the SelectedItem Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.SelectedItemsProperty">
            <summary>
            Identifies the SelectedItems Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.SelectedStyleProperty">
            <summary>
            Identifies the SelectedStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.HighlightedStyleProperty">
            <summary>
            Identifies the HighlightedStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.HandleSelectionClickProperty">
            <summary>
            Identifies the HandleSelectionClick Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase.SelectedEvent">
            <summary>
            The RoutedEvent to be raised when selection happens
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartSingleSeriesBase._dataSeriesWithRanges">
            <summary>
            The data series range adapter
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.OnApplyTemplate">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.UpdateDataSeriesWithRanges">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.InvalidateBase">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.InvalidateInternal">
            <summary>
            Invoked by the public <see cref="M:Visiblox.Charts.ChartSingleSeriesBase.InvalidateBase"/> method in order to 
            construct the visual layout of this series.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.EnableSeriesSelection(System.Windows.FrameworkElement)">
            <summary>
            Enables the selection of the series when clicking on <paramref name="element"/>.
            </summary>
            <param name="element">Element to use to trigger series selection.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.EnablePointSelection(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Enables the selection of the plotted point ("physical" point) on the series. 
            </summary>
            <param name="physicalPoint">The plotted point  ("physical" point) to enable selection for</param>
            <param name="logicalPoint">The point of the series  ("logical" point) associated with the element when the element is selected</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.EnableSeriesHighlighting(System.Windows.FrameworkElement)">
            <summary>
            Registers event handlers that make the series highlight when the mouse hovers over <paramref name="element"/>
            </summary>
            <param name="element">Element to use to trigger series highlighting.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.UpdateSeriesHighlighting(System.Boolean)">
            <summary>
            Override in subclasses to visualize series highlighting.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.SetDpStylesOnStyle(System.Windows.Style)">
            <summary>
            Sets NormalStyle, HighlightedStyle and SelectedStyle on <paramref name="style"/>
                if they're not already set.
            </summary>
            <param name="style"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.Highlight">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.ClearSelectedItems">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.MergeWith(System.Windows.Style)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.GetStyle">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.RemoveSelectedItem(Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.RemoveSelectedItems">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.RemoveOldSelectedPoints">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.ValidateSelectedItemsAddition(System.Collections.Generic.IEnumerable{System.Object})">
            <summary>
            Validates that the points to be added are all in the DataSeries
            </summary>
            <param name="addedPoints"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.SeriesClick">
            <summary>
            Invoked when the series is clicked. Override in subclasses to handle custom series selection.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.PointClicked(System.Object)">
            <summary>
            Invoked when a single point has been clicked on the series (not the series itself)
            </summary>
            <param name="sender">The "physical" point that has been clicked</param>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.SeriesMouseEnter">
            <summary>
            Invoked when the mouse has hovered over the series
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.SeriesMouseLeave">
            <summary>
            Invoked when the mouse has hovered off the series
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.series_MouseLeftButtonDown(System.Object,System.Windows.Input.MouseButtonEventArgs)">
            <summary>
            Invoked when an element has been clicked that would affect the series to be selected.
            Calls directly to series_MouseLeftButtonDown for testability purposes
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.point_MouseLeftButtonDown(System.Object,System.Windows.Input.MouseButtonEventArgs)">
            <summary>
            Invoked when a point in the series has been clicked. Causes the associated datapoint to be selected.
            Calls on directly to physicalPoint_MouseLeftButtonDown because of testability purposes.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.seriesHighlighting_MouseEnter(System.Object,System.Windows.Input.MouseEventArgs)">
            <summary>
            Invoked when the mouse is moved over the series
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartSingleSeriesBase.seriesHighlighting_MouseLeave(System.Object,System.Windows.Input.MouseEventArgs)">
            <summary>
            Invoked when the mouse is moved off the series.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.IsInteractionEnabled">
            <summary>
            Gets or sets whether interaction with the series is enabled. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.IsSelected">
            <summary>Gets or sets whether the series is selected.</summary><remarks>This value can only be true if selection is enabled on the series, that is <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.SelectionMode"/> is set to <see cref="F:Visiblox.Charts.SelectionMode.Series"/>.Generally clicking on the series will select it, if it is selectable, but this property can also be manipulated programmatically.</remarks>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.IsHighlighted">
            <summary>Gets or sets whether the series is highlighted.</summary><remarks> This value can only be true if selection is enabled on the series, that is <see cref="P:Visiblox.Charts.ChartSingleSeriesBase.SelectionMode"/> is set to <see cref="F:Visiblox.Charts.SelectionMode.Series"/>. Generally hovering over the series will highlighted it, if it is selectable, but this property can also be manipulated programmatically.</remarks>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.SelectionMode">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.SelectedItem">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.SelectedItems">
            <inheritdoc/>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.SelectedStyle">
            <summary>
            Gets or sets the style applied to the series when it's selected. This style is combined with <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.NormalStyle"/> when rendering the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.HighlightedStyle">
            <summary>
            Gets or sets the style applied to the series when it's highlighted. This style is combined with <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.NormalStyle"/> when rendering the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.HandleSelectionClick">
            <summary>
            Gets or sets whether a click that would cause selection / unselection should be handled. If set to false, the event will be forwarded to other parts of the chart, otherwise it will be marked as handled and swallowed. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.Visiblox#Charts#ISelectableChartSeries#SelectedItems">
            <inheritdoc/>
        </member>
        <member name="E:Visiblox.Charts.ChartSingleSeriesBase.SelectionChanged">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.DataSeriesWithRanges">
            <summary>
            Gets the wrapped data series supporting ranges
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.XRange">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.ChartSingleSeriesBase.YRange">
            <inheritdoc/>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.ShowLinesProperty">
            <summary>
            Identifies the ShowLines Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.ShowAreaProperty">
            <summary>
            Identifies the ShowArea Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.UpperLineStyleProperty">
            <summary>
            Identifies the UpperLineStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.UpperLineStrokeProperty">
            <summary>
            Identifies the UpperLineStroke Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.UpperLineStrokeThicknessProperty">
            <summary>
            Identifies the UpperLineStrokeThickness Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.LowerLineStyleProperty">
            <summary>
            Identifies the LowerLineStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.LowerLineStrokeProperty">
            <summary>
            Identifies the LowerLineStroke Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.LowerLineStrokeThicknessProperty">
            <summary>
            Identifies the LowerLineStrokeThickness Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.AreaStyleProperty">
            <summary>
            Identifies the AreaStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.AreaFillProperty">
            <summary>
            Identifies the AreaFill Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.InvertedAreaStyleProperty">
            <summary>
            Identifies the InvertedAreaStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.InvertedAreaFillProperty">
            <summary>
            Identifies the InvertedAreaFill Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.SelectionHelperLineThicknessProperty">
            <summary>
            Identifies the SelectionHelperLineThickness Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.Upper">
            <summary>
            The key to the Y value points which represent the Upper value
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.Lower">
            <summary>
            The key to the Y value points which represent the Lower value
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries._upperLinePath">
            <summary>
             The series upper line path object, created once and then updated
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries._lowerLinePath">
            <summary>
             The series lower line path object, created once and then updated
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries._upperLinePathSelectionHelper">
            <summary>
            An invisible path that help highlighting and selection around the upper line
            </summary>
            <remarks>
            If selection is enabled, this "invisible" path is drawn to make highlighting/selecting the series easier
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.BandSeries._lowerLinePathSelectionHelper">
            <summary>
            An invisible path that help highlighting and selection around the lower line
            </summary>
            <remarks>
            If selection is enabled, this "invisible" path is drawn to make highlighting/selecting the series easier
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.BandSeries._lineGeometryDictionary">
            <summary>
            The geometries for the lines cached so they can be shared when necessary
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries._areaGeometryCollection">
            <summary>
            The collection of path geometries with their inversion value for the area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries._areaPathCollection">
            <summary>
            The collection of path objects for the area
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.OnApplyTemplate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BandSeries.OnStyleUpdated">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.InvalidateInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.DrawLines">
            <summary>
            Draws and styles the upper and lower lines for the series onto the canvas
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.BuildLineGeometries">
            <summary>
            Builds line geometries for the upper and lower lines in the series. The string should be either the
            Upper or Lower string variable.
            </summary>
            <returns>A Dictionary with the line type (Upper or Lower) and it's path geometry</returns>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.StyleLine(System.Windows.Shapes.Path,System.Windows.Style,System.Windows.Media.Brush,System.Double)">
            <summary>
            Uses ChartSeriesBase.CreateShapeStyle to create a shape style then applies it to the line
            </summary>
            <param name="linePath">The line to style</param>
            <param name="lineStyle">The line style to apply (excluding stroke and thickness) to the line</param>
            <param name="lineStroke">The line stroke to apply to the line</param>
            <param name="lineThickness">The line thickness to apply to the line</param>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.SetupLinePath(System.String,System.Windows.Shapes.Path,System.Windows.Media.PathGeometry,System.Windows.Shapes.Path)">
            <summary>
            Sets the line path data, adds it to the canvas and handles selection using a helper line
            </summary>
            <param name="lineType">The line type (Upper or Lower)</param>
            <param name="linePath">The line to set up</param>
            <param name="linePathGeometry">The PathGeometry for this line</param>
            <param name="selectionHelper">The path to be used as the selection helper</param>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.DrawArea">
            <summary>
            Draws and styles the area between the upper and lower lines for the series onto the canvas
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.BuildAreaGeometry">
            <summary>
            Build a collection of area geometries. These are shapes within the upper and lower line paths
            which may be inverted should the lines cross - this is specified in PathGeometryWithInversion.Inverted.
            Initially draws along the higher points from the initial start point, then uses CompleteIndividualAreaGeometry
            to close the shape.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.CalculateIntersection(Visiblox.Charts.IDataPoint,Visiblox.Charts.IDataPoint)">
            <summary>
            Calculates the point of intersection between 2 datapoints.
            </summary>
            <param name="dataPoint1">IDataPoint with x1 and y1 values</param>
            <param name="dataPoint2">IDataPoint with x2 and y2 values</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.CompleteIndividualAreaGeometry(System.Windows.Media.PathFigure,System.Collections.Generic.IList{System.Windows.Point},System.Boolean)">
            <summary>
            Builds an individual area geometry by traversing the lower points to close the PathFigure
            </summary>
            <param name="pathFigure">The uncompleted PathFigure</param>
            <param name="previousLowerPoints">The previous points to traverse to close the PathFigure</param>
            <param name="inverted">Whether the PathFigure is inverted or not</param>
            <returns>A PathGeometry and an inversion value</returns>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.StyleArea(System.Windows.Shapes.Path,System.Windows.Style,System.Windows.Media.Brush)">
            <summary>
            Uses an overloaded ChartSeriesBase.CreateShapeStyle to style the area path
            </summary>
            <param name="area">The area Path to style</param>
            <param name="areaStyle">The area Style (excluding Fill)</param>
            <param name="areaFill">The Brush to fill the area with</param>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.UpdateSeriesHighlighting(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.IsPointRenderableInternal(Visiblox.Charts.IDataPoint)">
            <summary>
            Check if the given <paramref name="dataPoint"/> is renderable. Override to check the upper and lower Y values.
            </summary>
            <param name="dataPoint">Data point to check.</param>
            <returns>Whether the data point is renderable.</returns>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.ApplyStyleToExistingElements(Visiblox.Charts.BandSeries.CachedStyles)">
            <summary>
            Applies the specified style to the upper line, lower line and area (including inversions)
            </summary>
            <param name="cachedStyle">The style to apply to the series</param>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.CheckForUpperLineStyleStyleConflict">
            <summary>
            Checks if the setters in UpperLineStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.CheckForLowerLineStyleStyleConflict">
            <summary>
            Checks if the setters in LowerLineStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.CheckForAreaStyleConflict">
            <summary>
            Checks if the setters in AreaStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BandSeries.CheckForInvertedAreaStyleConflict">
            <summary>
            Checks if the setters in InvertedAreaStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BandSeries.ShowLines">
            <summary>
            Gets or sets whether the lines are plotted on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.ShowArea">
            <summary>
            Gets or sets whether the area is plotted on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.UpperLineStyle">
            <summary>
            Gets or sets the upper line style. The Style should have a TargetType of Path. Stroke and StrokeThickness setters should not be defined in this style when using the default palette, as they will be overriden by the UpperLineStroke and UpperLineStrokeThickness dependency properties defined in this palette. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.UpperLineStroke">
            <summary>
            Gets or sets the brush used to draw the upper line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.UpperLineStrokeThickness">
            <summary>
            Gets or sets the thickness of a the drawn upper line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.LowerLineStyle">
            <summary>
            Gets or sets the lower line style. The Style should have a TargetType of Path. Stroke and StrokeThickness setters should not be defined in this style when using the default palette, as they will be overriden by the LowerLineStroke and LowerLineStrokeThickness dependency properties defined in this palette. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.LowerLineStroke">
            <summary>
            Gets or sets the brush used to draw the lower line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.LowerLineStrokeThickness">
            <summary>
            Gets or sets the thickness of a the drawn lower line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.AreaStyle">
            <summary>
            Gets or sets the area style. Fill setter should not be defined in this style when using the default palette, as this will be overriden by the AreaFill dependency property defined in this palette. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.AreaFill">
            <summary>
            Gets or sets the brush used for filling the area on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.InvertedAreaStyle">
            <summary>
            Gets or sets the inverted area style. If set, this property determines how areas are rendered in this series after an intersection. If the upper line crosses the lower, or vice versa, this area will be set from the BandSeriesAreaStyle. Should they intersect again, the BandSeriesAreaStyle will be returned. The Style should have a TargetType of Path. Note: To set the Fill, please use the InvertedAreaFill Dependency Properties. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.InvertedAreaFill">
            <summary>
            Gets or sets the brush used for filling the inverted area on the series. If set, this property determines how areas are rendered in this series after an intersection. If the upper line crosses the lower, or vice versa, this area will be set from the BandSeriesAreaFill. Should they intersect again, the BandSeriesAreaFill will be returned. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BandSeries.SelectionHelperLineThickness">
            <summary>
            Gets or sets the thickness of the invisible line around the series line path that helps selection. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.BandSeries.PathGeometryWithInversion">
            <summary>
            Contains a path geometry and an inverted boolean. Used to check which style to use when
            building areas - AreaStyle or InvertedAreaStyle.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BandSeries.PathGeometryWithInversion.PathGeometry">
            <summary>
            The PathGeometry data for the Path
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BandSeries.PathGeometryWithInversion.Inverted">
            <summary>
            The inversion value, when the lines initially cross they are inverted. When they re-cross, they become un-inverted.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BandSeries.BandGeometries">
            <summary>
            A struct to hold the Upper and Lower Path Geometries for the Band Series
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.BandGeometries.Upper">
            <summary>
            The Upper line's path geometry
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BandSeries.BandGeometries.Lower">
            <summary>
            The Lower line's path geometry
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BarOrColumnSeriesBase">
            <summary>
            Base class for <see cref="T:Visiblox.Charts.BarSeries"/> and <see cref="T:Visiblox.Charts.ColumnSeries"/>.
            </summary>
            <remarks>
            <para>
            <see cref="T:Visiblox.Charts.BarSeries"/> and <see cref="T:Visiblox.Charts.ColumnSeries"/> are essentially the same thing, 
            but with X and Y axis swapped round. Almost all the functionality therefore is in this base class. 
            </para>
            <para>Below we shall talk about column charts, but this applies equally to bar charts.</para>
            <para>When a column series is displayed on a chart, the width of its columns are calculated based upon the spacing of the supplied data.
            Narrower columns can be achieved by altering <see cref="P:Visiblox.Charts.BarOrColumnSeriesBase.BarWidthFraction"/>: by default this is 0.75, at 1 all columns will be touching,
            while at 0.5 the columns will be half this size (resulting in the space between columns being the same size as the columns themselves).</para>
            <para>If multiple column series are displayed on the same chart, they are displayed together. The series are all sized and spaced so that at 
            each data point, a group of columns is displayed together, the leftmost column for the first column series on the chart and the rightmost for the last.</para>
            <para>Where one column series has some missing X values, the series will be spaced and sized as if these were 0.</para>
            <para>
            The OffsetProvider property identifies that BarOrColumnSeriesBase implements <see cref="T:Visiblox.Charts.IStackableChartSeries"/>
            and can therefore be used in a stacking context. This property is set to the containing <see cref="T:Visiblox.Charts.IChartMultipleSeries"/>,
            such as <see cref="T:Visiblox.Charts.StackedBarSeries"/> or <see cref="T:Visiblox.Charts.StackedColumnSeries"/> to perform offset
            calculations and apply them during rendering. It is not necessary to set this property.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.BarSeries"/>
            <seealso cref="T:Visiblox.Charts.ColumnSeries"/>
        </member>
        <member name="T:Visiblox.Charts.Primitives.IMarginPreference">
            <summary>
            Specifies a series that dynamically requests margins to be generated. A series type implementing this interface
                can specify whether it requests margins to be auto calculated on either sides of the X and Y axis.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IMarginPreference.IsXMinimumMarginEnabled">
            <summary>
            Gets whether there's margin on the left of the X axis
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IMarginPreference.IsXMaximumMarginEnabled">
            <summary>
            Gets whether there's margin on the right of the X axis
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IMarginPreference.IsYMinimumMarginEnabled">
            <summary>
            Gets whether there's margin on the bottom of the Y axis
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.IMarginPreference.IsYMaximumMarginEnabled">
            <summary>
            Gets whether there's margin on the top of the Y axis
            </summary>
        </member>
        <member name="T:Visiblox.Charts.IStackableChartSeries">
            <summary>
            IStackableChartSeries represents the concept that an <see cref="T:Visiblox.Charts.IChartSingleSeries"/> can be used within a
            stacking context, and defines the necessary functionality in order for a series to interact with an
            <see cref="T:Visiblox.Charts.IOffsetProvider"/>
            </summary>
            <remarks>
            <para>
            An <see cref="T:Visiblox.Charts.IChartSingleSeries"/> which also implements IStackableChartSeries holds a reference to an
            <see cref="T:Visiblox.Charts.IOffsetProvider"/>. This OffsetProvider, which is of type <see cref="T:Visiblox.Charts.IChartMultipleSeries"/>
            will hold a collection of series in order to calculate offset values that should be applied to data points in this series.
            Interaction with this OffsetProvider allows for this series to access and apply such offsets during the rendering procedure.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IOffsetProvider"/>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.LineSeries"/>
        </member>
        <member name="M:Visiblox.Charts.IStackableChartSeries.IsDataPointValidForOffsetCalculations(Visiblox.Charts.IDataPoint)">
            <summary>
            Identifies if a given data point should be used for offset calculation.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.IStackableChartSeries.GetPreviousDataPoint(Visiblox.Charts.IDataPoint)">
            <summary>
            Gets a data point with the same X or Y value (where appropriate) from this DataSeries, as the parameter value.
            </summary>
            <param name="d">A data point not in this series</param>
            <returns>A data point with the same X or Y value (where relevant, according to the series type) as the parameter.</returns>
        </member>
        <member name="F:Visiblox.Charts.BarOrColumnSeriesBase._maxBarLength">
            <summary>
            See bug #1477. This is the maximum bar length that we can render, calculated through experimentation
            on the test project attachment.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BarOrColumnSeriesBase.BarWidthFractionProperty">
            <summary>
            Identifies the BarWidthFraction Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BarOrColumnSeriesBase.PointStyleProperty">
            <summary>
            Identifies the PointStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BarOrColumnSeriesBase.PointStrokeProperty">
            <summary>
            Identifies the PointStroke Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BarOrColumnSeriesBase.PointStrokeThicknessProperty">
            <summary>
            Identifies the PointStrokeThickness Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BarOrColumnSeriesBase.PointFillProperty">
            <summary>
            Identifies the PointFill Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.GetStackedValueRange(Visiblox.Charts.IRange)">
            <summary>
            For normal stacking, the range is calculated dynamically.
            </summary>
            <param name="baseRange"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.#ctor(Visiblox.Charts.BarSeriesType)">
            <summary>
            Constructs a bar/column series according to <paramref name="orientation"/>.
            </summary>
            <param name="orientation">The orientation of the series, i.e. bar or column.</param>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.OnApplyTemplate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.CreateBar(System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
             Given information about the bar or column to plot, this allows the implementation to choose
             how to create the Path Geometry object.
            </summary>
            <param name="barTopPos">Position of the maximum of the bar or column.</param>
            <param name="barBasePos">Position of the minimum of the bar or column.</param>
            <param name="barLocationPos">Location of the bar or column.</param>
            <param name="width">Width of the bar or column.</param>
            <param name="length">Length of the bar or column.</param>
            <returns>A Path geometry object representing a bar with the given parameters along the correct orientation.</returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.UpdateBar(System.Windows.Shapes.Path,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            As CreateBar but updates an existing bar Path
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.GetAxisAValue(Visiblox.Charts.IDataPoint)">
            <summary>
            Gets the value along the correct axis.
            A=X,B=Y for column series, A=Y,B=X for bar series.
            </summary>
            <param name="dataPoint">The data point to fetch a value for.</param>
            <returns>Appropriate value</returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.GetAxisBValue(Visiblox.Charts.IDataPoint)">
            <summary>
            Gets the value along the correct axis.
            A=X,B=Y for column series, A=Y,B=X for bar series.
            </summary>
            <param name="dataPoint">The data point to fetch a value for.</param>
            <returns>Appropriate value</returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.OnStyleUpdated">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.InvalidateInternal">
            <summary>
            Redraws the bars from scratch using datapoints in the DataSeries.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.AddDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.RemoveDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.UpdateDataPoint(Visiblox.Charts.IDataPoint,Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.DrawPoint(System.Double,System.Double,System.IComparable,System.Boolean,Visiblox.Charts.IDataPoint)">
            <summary>
            Displays an individual datapoint on the chart.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.SelectBaseAxis">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.CalculateWidth(System.Double)">
            <summary>
            Calculates the width of a bar, based on the other bar series on the chart
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.EnlargeAxisAActualRange(Visiblox.Charts.IRange,System.Double,System.Double)">
            <summary>
            Calculates the range required for the A axis to fit the width of the first and last bars 
            on the chart (precisely with no margin).
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.CalculateBarWidth">
            <summary>
            Calculates the width of an individual bar on the chart, based on smallest distance between any two given points.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.GetTopPosition(Visiblox.Charts.IDataPoint)">
            <summary>
            Get the uppermost position of where a bar/column will be plotted.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.GetPreviousDataPoint(Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.GetBarShape(Visiblox.Charts.IDataPoint,System.Double,System.Double,System.IComparable,System.Boolean)">
            <summary>
            Creates an instance of the rectangle used in the series. 
            Override in subclass to enable templating of the rectangle.
            </summary>
            <param name="dataPoint">The data point to fetch the shape for</param>
            <param name="fullWidth">Full width of the space available to the rectangle</param>
            <param name="width">Desired width of rectangle</param>
            <param name="negativeLocationAllowed">whether the column can be off screen in negative direction</param>
            <param name="baseValue">BaseValue</param>
            <returns>An instance of the DataPoint rectangle representation</returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.CalculateBarBounds(Visiblox.Charts.IDataPoint,System.IComparable)">
            <summary>
            Calculate the boundary positions of where the bar/column should be plotted.
            </summary>
            <param name="dataPoint">The data point to fetch the shape for</param>
            <param name="baseValue">BaseValue</param>
            <returns>A BarOrColumnShape structure identifying the top, bottom and centre locations.</returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.DataPointAsDouble(Visiblox.Charts.IDataPoint)">
            <summary>
            Convert the Axis B value of the dataPoint as a double.
            Throws an InvalidCastexception if this is not possible.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.CalculateBarLocation(Visiblox.Charts.BarOrColumnBounds,Visiblox.Charts.IDataPoint,System.Double,System.Double,System.Boolean)">
            <summary>
            Calculate the centre position of where the bar/column should be plotted
            </summary>
            <param name="bar">The BarOrColumnBounds structure to modify</param>
            <param name="dataPoint">The data point to calculate the location position for.</param>
            <param name="fullWidth">Full width of the space available to the rectangle</param>
            <param name="width">Desired width of rectangle</param>
            <param name="negativeLocationAllowed">whether the column can be off screen in negative direction</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.IsDataPointValidForOffsetCalculations(Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.UpdateSeriesHighlighting(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.CreateRectangle(System.Double,System.Double,System.Double,System.Double)">
            <summary>
             Creates a Path object when given 4 coordinates that is in the shape of a rectangle
            </summary>
            <param name="rectTop">The top position</param>
            <param name="rectLeft">The left position</param>
            <param name="rectWidth">The width of the rectangle</param>
            <param name="rectHeight">The height of the rectangle</param>
            <returns>A new path</returns>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.UpdateRectangle(System.Windows.Shapes.Path,System.Double,System.Double,System.Double,System.Double)">
            <summary>
             Updates a Path object when given 4 coordinates that is in the shape of a rectangle
            </summary>
            <param name="path">The rectangle to update</param>
            <param name="rectTop">The top position</param>
            <param name="rectLeft">The left position</param>
            <param name="rectWidth">The width of the rectangle</param>
            <param name="rectHeight">The height of the rectangle</param>
        </member>
        <member name="M:Visiblox.Charts.BarOrColumnSeriesBase.CheckForPointStyleConflict">
            <summary>
            Checks if the setters in PointStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.BarWidthFraction">
            <summary>
            Gets or sets the enforced width of each bar, as a fraction of the calculated width. If this is not set, the width is calculated automatically. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.PointStyle">
            <summary>
            Gets or sets the style to be used on the points of the series. The Style should have a TargetType of Path. Fill, Stroke and StrokeThickness setters should not be defined in this style when using the default palette, as they will be overriden by the PointFill, PointStroke and PointStrokeThickness dependency properties defined in this palette. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.PointStroke">
            <summary>
            Gets or sets the stroke to be used on the points of the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.PointStrokeThickness">
            <summary>
            Gets or sets the stroke thickness to be used on the points of the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.PointFill">
            <summary>
            Gets or sets the fill to be used on the points of the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.AxisA">
            <summary>
            Gets the horizontal axis.
            This is the X axis for a column series and Y axis for a bar series.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.AxisB">
            <summary>
            Gets the vertical axis.
            This is the Y axis for a column series and X axis for a bar series.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.Type">
            <summary>
            Gets the type of the bar series - either Bar (horizontal) or Column (vertical): this determines on which axes it is rendered.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.IsXMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.IsXMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.IsYMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.IsYMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.BRange">
            <summary>
            The Range of the axis in which stacking is performed.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.XRange">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.BarOrColumnSeriesBase.YRange">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.ChartMultipleSeriesBase">
            <summary>
            ChartMultipleSeriesBase is an specialisation of <see cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>,
            to define a chart series whose rendering is dependent upon a set of <see cref="T:Visiblox.Charts.IChartSingleSeries"/>
            data series - such as stacked series.
            </summary>
            <remarks>
            <para>
            The <see cref="P:Visiblox.Charts.ChartMultipleSeriesBase.Series"/> dependency property identifies a <see cref="T:Visiblox.Charts.SeriesCollection`1"/>
            which contains the <see cref="T:Visiblox.Charts.IChartSingleSeries"/> that are dependent upon each other. ChartMultipleSeriesBase
            listens to the CollectionChanged, DataSeriesCollectionChanged and SeriesPropertyChangedAggregate events of each series in this collection,
            to ensure that all series are invalidated upon a change of one series.
            </para>
            <para>
            ChartMultipleSeriesBase is responsible for overriding the default <see cref="P:Visiblox.Charts.ChartMultipleSeriesBase.XRange"/> and <see cref="P:Visiblox.Charts.ChartMultipleSeriesBase.YRange"/> calculations,
            and instead will return an aggregate range based upon the ranges of each individual <see cref="T:Visiblox.Charts.IChartSingleSeries"/>.
            </para>
            <para>The <see cref="P:Visiblox.Charts.ChartMultipleSeriesBase.Palette"/> dependency property identifies a custom palette that can be applied as default styling to the series
            in the <see cref="P:Visiblox.Charts.ChartMultipleSeriesBase.Series"/> collection property.</para>
            <para>
            In order to implement a new multiple series type, it is advised to extend this class, rather than the parent
            <see cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>, as this class provides common singular-series functionality that would
            otherwise have to be implemented on each series.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.StackedLineSeries"/>
            <seealso cref="T:Visiblox.Charts.StackedColumnSeries"/>
            <seealso cref="T:Visiblox.Charts.StackedBarSeries"/>
        </member>
        <member name="T:Visiblox.Charts.IChartMultipleSeries">
            <summary>
            IChartMultipleSeries is a specialisation of <see cref="T:Visiblox.Charts.IChartSeries"/>.
            A multiple chart series holds a collection of <see cref="T:Visiblox.Charts.IChartSingleSeries"/>,
            representing that the drawing of these IChartSingleSeries is dependent upon other series within the IChartMultipleSeries <see cref="P:Visiblox.Charts.IChartMultipleSeries.Series"/>
            property.
            </summary>
            <remarks>
            <para>
            The <see cref="P:Visiblox.Charts.IChartMultipleSeries.Series"/> property of IChartMultipleSeries holds a <see cref="T:Visiblox.Charts.SeriesCollection`1"/>.
            The series that are contained in this collection are related. For stackable series, for example, the series are related because their
            render positions are calculated based upon the values of other data points in this collection.
            </para>
            <para>
            The abstract class <see cref="T:Visiblox.Charts.ChartMultipleSeriesBase"/> implements some common functionality, so it is advised that, when implementing
            a new multiple series type, that class is extended rather than implementing this interface directly.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IChartSeries"/>
            <seealso cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>
            <seealso cref="T:Visiblox.Charts.ChartMultipleSeriesBase"/>
        </member>
        <member name="M:Visiblox.Charts.IChartMultipleSeries.AssociateSeries">
            <summary>
            Associate series in the Series collection by setting common proeprties.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IChartMultipleSeries.Series">
            <summary>
            A <see cref="T:Visiblox.Charts.SeriesCollection`1"/> of <see cref="T:Visiblox.Charts.IChartSingleSeries"/>,
            whose drawing depends on the other series in the collection.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartMultipleSeriesBase.PaletteProperty">
            <summary>
            Identifies the Palette Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ChartMultipleSeriesBase.SeriesProperty">
            <summary>
            Identifies the Series Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.OnSeriesPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Called when the DependentSeriesProperty is changed.
            Handle changes to the DependentSeries SeriesCollection by unsubscribing/resubscribing to events, and mirror dependency properties.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.OnPalettePropertyChanged(System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Called when the Palette dependency property changes.
            Ensure the Palette is applied to the DependentSeries series collection.
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.OnApplyTemplate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.AreKeyPropertiesNull">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.ResubscribeToSeriesEvents(Visiblox.Charts.SeriesCollection{Visiblox.Charts.IChartSeries},Visiblox.Charts.SeriesCollection{Visiblox.Charts.IChartSeries})">
            <summary>
            Look at the various events that are raised by the Series SeriesCollection.
            These events need to be relayed up to ChartSeriesBase, so they can force changes on the Chart.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.Series_SeriesPropertyChangedAggregate(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when the SeriesPropertyChangedAggregate event of Series is fired.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.Series_DataSeriesCollectionChanged(System.Object,System.EventArgs)">
            <summary>
            Called when the DataSeriesCollectionChanged event of Series is fired.
            Relay this event to ChartSeriesBase by firing the DataSeries changed event.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.Series_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Called when the CollectionChanged event of DependentSeries is fired.
            Relay this event to ChartSeriesBase.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.AddSeries(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <summary>
            Validate and associate the new axes.
            </summary>
            <param name="seriesCollection">Added series.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.RemoveSeries(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <summary>
            Remove assigned axes from each series.
            </summary>
            <param name="seriesCollection">Removed series.</param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.OnSeriesDataSeriesChanged(Visiblox.Charts.IChartSeries)">
            <summary>
            Called when the DataSeries of a Series has changed, so that concrete
            implementations can perform any necessary updates or recalculations.
            </summary>
            <param name="changedSeries"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.OnSeriesAdded(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <summary>
            Called when a series is added to the Series cseries collection, to inform any concrete implementations of this change.
            </summary>
            <param name="seriesCollection"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.OnSeriesRemoved(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <summary>
            Called when a series is removed from the Series cseries collection, to inform any concrete implementations of this change.
            </summary>
            <param name="seriesCollection"></param>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.InvalidateBase">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.AssociateSeries">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.ValidateNewSeries">
            <summary>
            Overridden by concrete implementations to validate the contents of the new Series collection.
            This can be used to enforce that only series of a specific type are stored in the Series collection. 
            </summary>
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.IsDataSeriesValid">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.ChartMultipleSeriesBase.GetFirstOrDefault">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.ChartMultipleSeriesBase.Palette">
            <summary>
            Gets or sets the chart Palette. <see cref="P:Visiblox.Charts.ChartMultipleSeriesBase.Series"/> styles are determined based on this palette if no explicit styling is applied to them. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartMultipleSeriesBase.Series">
            <summary>
            Gets or sets the collection of chart series whose drawing depends on the other series in the collection. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.ChartMultipleSeriesBase.SeriesContainer">
            <summary>
            The Grid in which Series are added to and plotted on.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.ChartMultipleSeriesBase.XRange">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.ChartMultipleSeriesBase.YRange">
            <inheritdoc />
        </member>
        <member name="T:Visiblox.Charts.LineSeries">
            <summary>
            Represents a line series.
            </summary>
            <remarks>
            <para>
            A LineSeries by default consists of straight lines connecting its data points. To indicate the location
            of each data point, the <see cref="P:Visiblox.Charts.LineSeries.ShowPoints"/> property can be set to <c>true</c>, or to fill in the area below the line
            the <see cref="P:Visiblox.Charts.LineSeries.ShowArea"/> property can be set to <c>true</c>. It is also possible to set the <see cref="P:Visiblox.Charts.LineSeries.ShowLine"/> property
            to <c>false</c> to disable the connecting lines (a scatter chart effect can be created by turning lines off and points on).
            </para>
            <para>
            If <see cref="P:Visiblox.Charts.LineSeries.ShowPoints"/> is true, LineSeries supports selection of points.
            </para>
            <para>
            The OffsetProvider property identifies that LineSeries implements <see cref="T:Visiblox.Charts.IStackableChartSeries"/>
            and can therefore be used in a stacking context. This property is set to the containing <see cref="T:Visiblox.Charts.IChartMultipleSeries"/>,
            such as <see cref="T:Visiblox.Charts.StackedLineSeries"/>to perform offset calculations and apply them during rendering.
            It is not necessary to set this property.
            </para>
            <para>
            In order to render the areas of stacked line series, the CloseEndPoints method will call either CloseEndPointsAtBase, or CloseEndPointsAtLine,
            depending upon the position of a Line Series within the stack. These alter the area PathFigure to ensure it only fills the correct amount of space.
            CloseEndPointsAtBase and CloseEndPointsAtLine can be overridden, if necessary, should the path of a line not be a direct straight line.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>
            <seealso cref="T:Visiblox.Charts.SplineSeries"/>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.ShowPointsProperty">
            <summary>
            Identifies the ShowPoints Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.ShowLineProperty">
            <summary>
            Identifies the ShowLine Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.ShowAreaProperty">
            <summary>
            Identifies the ShowArea Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.LineStyleProperty">
            <summary>
            Identifies the LineStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.PointStyleProperty">
            <summary>
            Identifies the PointStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.AreaStyleProperty">
            <summary>
            Identifies the AreaStyle Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.PointFillProperty">
            <summary>
            Identifies the PointFill Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.PointSizeProperty">
            <summary>
            Identifies the PointSize Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.LineStrokeProperty">
            <summary>
            Identifies the LineStroke Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.LineStrokeThicknessProperty">
            <summary>
            Identifies the LineStrokeThickness Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.AreaFillProperty">
            <summary>
            Identifies the AreaFill Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.SelectionHelperLineThicknessProperty">
            <summary>
            Identifies the SelectionHelperLineThickness Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries._areaGeometry">
            <summary>
             The area path geometry, recreated every time the series is invalidated
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries._linePath">
            <summary>
             The line series path object, created once and then updated
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries._selectionHelperLinePath">
            <summary>
            An invisible path that help highlighting and selection around the line
            </summary>
            <remarks>
            If selection is enabled, this "invisible" path is drawn to make highlighting/selecting the series easier
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.LineSeries._lineGeometry">
            <summary>
             The line geometry - recreated every time the series is invalidated and needs rebuilding
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries._areaPath">
            <summary>
             The area path object, created once and then updated
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetStackedValueRange(Visiblox.Charts.IRange)">
            <summary>
            For normal stacking, the range is calculated dynamically.
            </summary>
            <param name="baseRange"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.OnApplyTemplate">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.InvalidateInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.DrawArea(System.Collections.Generic.IList{Visiblox.Charts.LineSeries.DataPointItem})">
            <summary>
            Draws an area on the canvas.
            </summary>
            <param name="points">The points to draw.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.DrawLine(System.Collections.Generic.IList{Visiblox.Charts.LineSeries.DataPointItem})">
            <summary>
            Draws a line on the canvas
            </summary>
            <param name="points">The points to draw.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.CreatePoint(Visiblox.Charts.IDataPoint)">
            <summary>
            Creates the physical representation of the <paramref name="dataPoint"/> logical point.
            </summary>
            <param name="dataPoint">The logical point</param>
            <returns>The point to be plotted on the screen</returns>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.UpdatePoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Updates the physical point <paramref name="point"/> that is the representation of the logical point <paramref name="dataPoint"/>
            </summary>
            <param name="point">The physical representation of the point</param>
            <param name="dataPoint">The logical point</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.DrawPoints(System.Collections.Generic.IList{Visiblox.Charts.LineSeries.DataPointItem})">
            <summary>
            Draws the points of the line series on the canvas.
            </summary>
            <param name="points">The points to draw.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.DrawPoint(Visiblox.Charts.LineSeries.DataPointItem,System.Boolean,Visiblox.Charts.Primitives.UniqueAndNotNullShadowedObservableCollection{System.Object},Visiblox.Charts.SelectionMode)">
            <summary>
            Adds a data point to the chart
            </summary>
            <param name="combinedPoint">The point to draw.</param>
            <param name="isSelected">cached to avoid repeatedly hitting the DP</param>
            <param name="selectedItems">cached to avoid repeatedly hitting the DP</param>
            <param name="selectionMode">cached to avoid repeatedly hitting the DP</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.OnPointCreated(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Called when a new data point element has been created.
            </summary>
            <param name="point">The physical point</param>
            <param name="dataPoint">The logical point</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetCenterTransform(System.Windows.FrameworkElement)">
            <summary>
            Gets the transform that will move the point to the center location
            </summary>
            <param name="visualPoint">The physical point to position</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.AddDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
            <remarks></remarks>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.UpdateDataPoint(Visiblox.Charts.IDataPoint,Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.AddDataPointToGeometry(System.Windows.Media.PathGeometry,System.Windows.Point,System.Int32,System.Boolean)">
            <summary>
            Helper method for AddDataPointToLine and AddDataPointToArea
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.CloseEndPoints(System.Windows.Media.PathFigure,System.Boolean)">
            <summary>
            Close the end points of the line path figure to create the correct area.
            Depending upon if stacking is performed, the area will either close at its 'previous' series, or at the x axis base.
            </summary>
            <param name="figure">The current PathFigure, to whom these additional points will be given.</param>
            <param name="add">Should the additional points be added? If false, will replace points instead.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.CloseEndPointsAtLine(System.Windows.Media.PathFigure,System.Boolean,System.Windows.Media.PathGeometry)">
            <summary>
            Close off the line at the boundaries of the points given in the points collection.
            </summary>
            <remarks>
            <para>
            When extending LineSeries, consider overriding the functionality of this method if the line drawing is not a straight line.
            </para>
            </remarks>
            <param name="figure">The PathFigure containing the area geometry</param>
            <param name="add"><c>True</c> if new points should be added to the figure, <c>false</c> if they should replace existing geometry.</param>
            <param name="boundaryGeometry">The PointCollection representing the boundary of another series.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.CloseEndPointsAtBase(System.Windows.Media.PathFigure,System.Boolean)">
            <summary>
            Close off the line by going down to the X axis base (x = 0).
            </summary>
            <remarks>
            <para>
            When extending LineSeries, consider overriding the functionality of this method if the line drawing is not a straight line.
            </para>
            </remarks>
            <param name="figure">The PathFigure containing the area geometry</param>
            <param name="add"><c>true</c> if new points should be added to the figure, <c>false</c> if they should replace existing geometry.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetLineGeometry">
            <summary>
            Get the points on this line as a PointCollection.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.RemoveDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.LineSeries.RemoveDataPointFromGeometry(System.Windows.Media.PathGeometry,System.Int32,System.Boolean)">
            <summary>
            
            </summary>
            <param name="geometry"></param>
            <param name="index"></param>
            <param name="closed"></param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.BuildGeometry(System.Collections.Generic.IList{Visiblox.Charts.LineSeries.DataPointItem},System.Boolean)">
            <summary>
            Builds a path geometry for the associated DataSeries
            </summary>
            <remarks>
            <para>
            When extending LineSeries, consider overriding the functionality of this method if the line drawing is not a straight line.
            </para>
            </remarks>
            <param name="points">The points to construct a PathGeometry from.</param>
            <param name="closed">Should the PathGeometry be closed off?</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.AddDataPointToArea(System.Windows.Point,System.Int32)">
            <summary>
            Adds the given datapoint to a pre-existing area path
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.AddDataPointToLine(System.Windows.Point,System.Int32)">
            <summary>
            Adds the given datapoint to a pre-existing line series path
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetRenderPositionsForDataPoints">
            <summary>
            Returns a list of points that should be considered when invalidating this series
            Strips out any invalid points using Double.NaN as the value
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetYRenderPosition(Visiblox.Charts.IDataPoint)">
            <summary>
            Calculate the render position of a Y value, given either a stacking or non-stacking context.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.IsDataPointValidForOffsetCalculations(Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.LineSeries.IsDataPointInbetweenSeriesLimits(Visiblox.Charts.IDataPoint,Visiblox.Charts.IRange)">
            <summary>
            Identifies if the X value of the data point parameter lies after the first point in the DataSeries, and before the last point in the DataSeries,
            on the given X axis range specified by the range parameter.
            If the data point X value is equal to the x value of the first or last data point, this method returns <c>false</c> as it is not inbetween these limits.
            Note: This method uses IChartSeries.XRange by default (if range is null).
            </summary>
            <param name="d"></param>
            <param name="range">The range to perofmr</param>
            <returns><c>true</c> if the data point falls between the first and last data points.</returns>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetPreviousDataPoint(Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetYPointPosition(Visiblox.Charts.IDataPoint)">
            <summary>
            Get the y position of where the data point should be plotted.
            </summary>
            <param name="d"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.OnStyleUpdated">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetPointStyle(System.Windows.Style,System.Double,System.Windows.Media.Brush)">
            <summary>
            Returns a new style created based on the style passed in
            </summary>
            <remarks>
            The point is centered based on the <paramref name="pointSize"/>
            </remarks>
            <param name="style"></param>
            <param name="pointSize"></param>
            <param name="fill"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.StyleNormalPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Styles a point that is not selected, not highlighted
            </summary>
            <param name="point">The physical element to be styled</param>
            <param name="dataPoint">The logical point that <paramref name="point"/> represents</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.StyleSelectedPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Styles a point that is selected
            </summary>
            <param name="point">The physical element to be styled</param>
            <param name="dataPoint">The logical point that <paramref name="point"/> represents</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.StyleHighlightedPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Styles a point that is highlighted
            </summary>
            <param name="point">The physical element to be styled</param>
            <param name="dataPoint">The logical point that <paramref name="point"/> represents</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.UpdateSeriesHighlighting(System.Boolean)">
            <summary>
            Invoked when the selection helper line path receives the MouseEnter event
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetLineStyle(System.Windows.Style,System.Windows.Media.Brush,System.Double)">
            <summary>
            Gets the actual line style to apply to the series's line path representing a particular line style, stroke, and thickness.
            </summary>
            <param name="style">Style to be applied to the line object. If null, none will be applied.</param>
            <param name="stroke">Stroke to be applied to the line object. If null, none will be applied.</param>
            <param name="strokeThickness">Stroke thickness to be applied to the line object</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.GetAreaStyle(System.Windows.Style,System.Windows.Media.Brush)">
            <summary>
            Gets the style to use for the series's area path
            </summary>
            <param name="style">Style to be applied to the area object. If null, none will be applied.</param>
            <param name="fill">Fill to be applied to the area object. If null, none will be applied.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.ApplyStyleToExistingElements(Visiblox.Charts.LineSeries.CachedStyles)">
            <summary>
            Applies a given set of cached line/area/point styles to elements already existing on the zoom canvas.
            </summary>
            <param name="cachedStyles">Set of styles to apply.</param>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.CheckForLineStyleConflict">
            <summary>
            Checks if the setters in LineStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.CheckForPointStyleConflict">
            <summary>
            Checks if the setters in PointStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.CheckForAreaStyleConflict">
            <summary>
            Checks if the setters in AreaStyle conflict with any of the styling properties set on the class.
            If so, it outputs a warining to the debug output.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.LineSeries.ShowPoints">
            <summary>
            Gets or sets whether the points are plotted on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.ShowLine">
            <summary>
            Gets or sets whether the line is plotted on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.ShowArea">
            <summary>
            Gets or sets whether the area is plotted on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.LineStyle">
            <summary>
            Gets or sets the line style. The Style should have a TargetType of Path. Stroke and StrokeThickness setters should not be defined in this style when using the default palette, as they will be overriden by the LineStroke and LineStrokeThickness dependency properties defined in this palette. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.PointStyle">
            <summary>
            Gets or sets the point style. The Style should have a TargetType of Ellipse. Fill setter should not be defined in this style when using the default palette, as this will be overriden by the PointFill dependency property defined in this palette. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.AreaStyle">
            <summary>
            Gets or sets the area style. The Style should have a TargetType of Path. Fill setter should not be defined in this style when using the default palette, as this will be overriden by the AreaFill dependency property defined in this palette. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.PointFill">
            <summary>
            Gets or sets the brush used for filling a point on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.PointSize">
            <summary>
            Gets or sets the size (width and height) of a point on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.LineStroke">
            <summary>
            Gets or sets the brush used to draw a line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.LineStrokeThickness">
            <summary>
            Gets or sets the thickness of a the drawn line. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.AreaFill">
            <summary>
            Gets or sets the brush used for filling the area on the series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.SelectionHelperLineThickness">
            <summary>
            Gets or sets the thickness of the invisible line around the series line path that helps selection. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.LineSeries.YRange">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.LineSeries.DataPointItem">
            <summary>
            Internal class for representing a render point
            and its associated IDataPoint.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.DataPointItem.RenderPoint">
            <summary>
            The point to be rendered
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LineSeries.DataPointItem.DataPoint">
            <summary>
            The Data point
            </summary>
        </member>
        <member name="M:Visiblox.Charts.LineSeries.DataPointItem.#ctor(System.Windows.Point,Visiblox.Charts.IDataPoint)">
            <summary>
            Creates a DataPointItem.
            </summary>
            <param name="dataPoint">Data point</param>
            <param name="renderPoint">Render point associated with <paramref name="dataPoint"/>.</param>
        </member>
        <member name="T:Visiblox.Charts.SplineSeries">
            <summary>
            Constructs a spline series
            </summary>
        </member>
        <member name="F:Visiblox.Charts.SplineSeries.TensionProperty">
            <summary>
            Identifies the Tension Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.BuildGeometry(System.Collections.Generic.IList{Visiblox.Charts.LineSeries.DataPointItem},System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.ConvertDataPointItemsToPoints(System.Collections.Generic.IList{Visiblox.Charts.LineSeries.DataPointItem})">
            <summary>
            Convert RenderPositions to Points
            </summary>
            <param name="points"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.GetBezierPoints(System.Collections.Generic.List{System.Windows.Point},System.Double)">
            <summary>
            Calculates Bézier control points for a curve that contains given set of points.
            </summary>
            <param name="points">Points on the curve.</param>
            <param name="tension">Tension.</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.GetDerivative(System.Collections.Generic.List{System.Windows.Point},System.Int32,System.Double)">
            <summary>
            Calculates scaled derivative of a point in a point collection.
            </summary>
            <param name="points">Points on the curve.</param>
            <param name="index">Point number to calculate control point for.</param>
            <param name="tension">Tension</param>        
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.GetB1(System.Collections.Generic.List{System.Windows.Point},System.Int32,System.Double)">
            <summary>
            Calculates first control point of a Bézier curve.
            </summary>
            <param name="points">Points on the curve.</param>
            <param name="index">Point no to calculate control point for.</param>
            <param name="tension">Tension</param>
            <returns></returns>
            <remarks>Formula: B1i = Pi + Pi' / 3</remarks>
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.GetB2(System.Collections.Generic.List{System.Windows.Point},System.Int32,System.Double)">
            <summary>
            Calculates second control point of a Bézier curve.
            </summary>
            <param name="points">Points on the curve.</param>
            <param name="index">Point no to calculate control point for.</param>
            <param name="tension">Tension</param>
            <returns></returns>
            <remarks>Formula: B2i = P[i + 1] - P'[i + 1] / 3</remarks>
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.AddDataPointToGeometry(System.Windows.Media.PathGeometry,System.Windows.Point,System.Int32,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.RemoveDataPointFromGeometry(System.Windows.Media.PathGeometry,System.Int32,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.CloseEndPointsAtLine(System.Windows.Media.PathFigure,System.Boolean,System.Windows.Media.PathGeometry)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.SplineSeries.CloseEndPointsAtBase(System.Windows.Media.PathFigure,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.SplineSeries.Tension">
            <summary>
            Gets or sets the tension used to construct the spline curve. This is a Dependency Property.
            </summary>    
        </member>
        <member name="T:Visiblox.Charts.StackedBarSeries">
            <summary>
            A StackedBarSeries holds a collection of <see cref="T:Visiblox.Charts.BarSeries"/>, applying stacking logic so that
            the final render positions of each bar is calculated with respect to other series in the collection.
            </summary>
            <remarks>
            <para>
            StackedBarSeries enforces that the <see cref="P:Visiblox.Charts.IChartMultipleSeries.Series"/> collection only holds
            <see cref="T:Visiblox.Charts.BarSeries"/> chart series, and will throw an InvalidCastException if this rule is violated.
            StackedBarSeries is unable to perform stacking when the X axis is a category axis, and an ArgumentException will be thrown
            if this rule is violated.
            </para>
            <para>
            As StackedBarSeries is an <see cref="T:Visiblox.Charts.IOffsetProvider"/>, the OffsetProvider of each of the BarSeries in the
            Series collection is set to this instance, to allow each BarSeries to obtain its offset positions and proportional values, according
            to the stacking context declared in the <see cref="P:Visiblox.Charts.StackedBarSeries.StackingMode"/> property.
            </para>
            <para>
            The <see cref="P:Visiblox.Charts.StackedBarSeries.StackingMode"/> dependency property applies the stacking method that should be applied.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IOffsetProvider"/>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.BarSeries"/>
        </member>
        <member name="T:Visiblox.Charts.IStackedOffsetProvider">
            <summary>
            Represents an offset provider which is to be used to stack <see cref="T:Visiblox.Charts.IChartSeries"/>.
            </summary>
            <remarks>
            <para>
            In order to perform stacking, multiple <see cref="T:Visiblox.Charts.IChartSeries"/> are held within the Series property of an <see cref="T:Visiblox.Charts.IChartMultipleSeries"/>
            instance, which itself is added to a <see cref="T:Visiblox.Charts.Chart"/> Series property. IStackedOffsetProvider defines additional behaviour to
            be used when series are rendered within a stacking context.
            </para>
            <para>
            The stacking method to be used for rendering is determined by the <see cref="P:Visiblox.Charts.IStackedOffsetProvider.StackingMode"/> property. IStackedOffsetProvider declares the
            GetOneHundredPercentProportion method for when the StackingMode property is set to StackingMode.HundredPercent. In 100% stacking,
            the base axis value of a data point (X for column and line series, Y for bar series) is not used for stacking - instead the percentage of the sum
            of all base axis values at point is used. This method returns that percentage.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IChartMultipleSeries"/>
            <seealso cref="T:Visiblox.Charts.StackingMode"/>
            <seealso cref="T:Visiblox.Charts.StackedBarSeries"/>
            <seealso cref="T:Visiblox.Charts.StackedColumnSeries"/>
            <seealso cref="T:Visiblox.Charts.StackedLineSeries"/>
        </member>
        <member name="M:Visiblox.Charts.IStackedOffsetProvider.GetOneHundredPercentProportion(Visiblox.Charts.IStackableChartSeries,Visiblox.Charts.IDataPoint)">
            <summary>
            For one-hundred percent stacking, the 'value' of each data point is not its plot position.
            Instead, it is turned into a percentage based on the proportion of its value with respect to other stacked series.
            For a given <see cref="T:Visiblox.Charts.IDataPoint"/> on an <see cref="T:Visiblox.Charts.IStackableChartSeries"/>,
            calculate this proportional value, that can be used to calculate the render position of the IDataPoint.
            </summary>
            <param name="dataPoint">The data point to get the proportional value for.</param>
            <param name="series">The series that dataPoint belongs to.</param>
            <returns>The proportional value, represented as a double.</returns>
        </member>
        <member name="P:Visiblox.Charts.IStackedOffsetProvider.StackingMode">
            <summary>
            Gets or sets the property identifying the stacking method used to arrange and render stacked series.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.StackedBarSeries.StackingModeProperty">
            <summary>
            Identifies the StackingMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.StackedBarSeries.OneHundredPercentTotals">
            <summary>
            A cache of the totals for each Y value (which will be a category).
            This is used for 100% stacking to reduce the amount of recalculation of totals needed.
            This dictionary is updated in response to changes in DependentSeries.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.OnApplyTemplate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetBaseAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetPerpendicularAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetBaseAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetPerpendicularAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetOneHundredPercentProportion(Visiblox.Charts.IStackableChartSeries,Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.CalculateTotal(Visiblox.Charts.IStackableChartSeries,Visiblox.Charts.IDataPoint)">
            <summary>
            Iterate through the points in the DependentSeriesCollection which correspond to the Y-location given by dataPoint.
            Calculate the sum and store it in the dictionary.
            </summary>
            <param name="series"></param>
            <param name="dataPoint"></param>
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.DataPointAsDouble(Visiblox.Charts.IDataPoint)">
            <summary>
            Helper method to do IComparable - double conversion, throwing an exception if this cannot be done.
            Converts the X value of the dataPoint to a double.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.AssociateSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.ValidateNewSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.OnSeriesAdded(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.OnSeriesRemoved(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.OnSeriesDataSeriesChanged(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetSideBySideSeries(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.GetSideBySideWidth(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedBarSeries.RefreshDictionaryForSeries(Visiblox.Charts.IChartSeries)">
            <summary>
            Remove any data stored for each data point in the series from the OneHundredPercentTotals dictionary.
            </summary>
            <param name="series"></param>
        </member>
        <member name="P:Visiblox.Charts.StackedBarSeries.StackingMode">
            <summary>
            Gets or sets the property relating to the stacking method used to draw contained series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.StackedBarSeries.IsXMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedBarSeries.IsXMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedBarSeries.IsYMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedBarSeries.IsYMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.StackedColumnSeries">
            <summary>
            A StackedColumnSeries holds a collection of <see cref="T:Visiblox.Charts.ColumnSeries"/>, applying stacking logic so that
            the final render positions of each column is calculated with respect to other series in the collection.
            </summary>
            <remarks>
            <para>
            StackedColumnSeries enforces that the <see cref="P:Visiblox.Charts.IChartMultipleSeries.Series"/> collection only holds
            <see cref="T:Visiblox.Charts.ColumnSeries"/> chart series, and will throw an InvalidCastException if this rule is violated.
            StackedColumnSeries is unable to perform stacking when the Y axis is a category axis, and an ArgumentException will be thrown
            if this rule is violated.
            </para>
            <para>
            As StackedColumnSeries is an <see cref="T:Visiblox.Charts.IOffsetProvider"/>, the OffsetProvider of each of the ColumnSeries in the
            Series collection is set to this instance, to allow each ColumnSeries to obtain its offset positions and proportional values, according
            to the stacking context declared in the <see cref="P:Visiblox.Charts.StackedColumnSeries.StackingMode"/> property.
            </para>
            <para>
            The <see cref="P:Visiblox.Charts.StackedColumnSeries.StackingMode"/> dependency property applies the stacking method that should be applied.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IOffsetProvider"/>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.ColumnSeries"/>
        </member>
        <member name="F:Visiblox.Charts.StackedColumnSeries.StackingModeProperty">
            <summary>
            Identifies the StackingMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.StackedColumnSeries.OneHundredPercentTotals">
            <summary>
            A cache of the totals for each X value (which will be a category).
            This is used for 100% stacking to reduce the amount of recalculation of totals needed.
            This dictionary is updated in response to changes in DependentSeries.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.OnApplyTemplate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetBaseAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetPerpendicularAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetBaseAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetPerpendicularAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetOneHundredPercentProportion(Visiblox.Charts.IStackableChartSeries,Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.CalculateTotal(Visiblox.Charts.IStackableChartSeries,Visiblox.Charts.IDataPoint)">
            <summary>
            Iterate through the points in the DependentSeriesCollection which correspond to the X-location given by dataPoint.
            Calculate the sum and store it in the dictionary.
            </summary>
            <param name="series"></param>
            <param name="dataPoint"></param>
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.DataPointAsDouble(Visiblox.Charts.IDataPoint)">
            <summary>
            Helper method to do IComparable - double conversion, throwing an exception if this cannot be done.
            Converts the Y value of the dataPoint to a double.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.AssociateSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.ValidateNewSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.OnSeriesAdded(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.OnSeriesRemoved(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.OnSeriesDataSeriesChanged(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetSideBySideSeries(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.GetSideBySideWidth(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedColumnSeries.RefreshDictionaryForSeries(Visiblox.Charts.IChartSeries)">
            <summary>
            Remove any data stored for each data point in the series from the OneHundredPercentTotals dictionary.
            </summary>
            <param name="series"></param>
        </member>
        <member name="P:Visiblox.Charts.StackedColumnSeries.StackingMode">
            <summary>
            Gets or sets the property relating to the stacking method used to draw contained series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.StackedColumnSeries.IsYMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedColumnSeries.IsYMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedColumnSeries.IsXMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedColumnSeries.IsXMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.StackedLineSeries">
            <summary>
            A StackedLineSeries holds a collection of <see cref="T:Visiblox.Charts.LineSeries"/>, applying stacking logic so that
            the final render positions of each line, point and area area calculated with respect to other series in the collection.
            </summary>
            <remarks>
            <para>
            StackedLineSeries enforces that the <see cref="P:Visiblox.Charts.IChartMultipleSeries.Series"/> collection only holds
            <see cref="T:Visiblox.Charts.LineSeries"/> chart series, and will throw an InvalidCastException if this rule is violated.
            StackedLineSeries is unable to perform stacking when the Y axis is a category axis, and an ArgumentException will be thrown
            if this rule is violated.
            </para>
            <para>
            As StackedLineSeries is an <see cref="T:Visiblox.Charts.IOffsetProvider"/>, the OffsetProvider of each of the LineSeries in the
            Series collection is set to this instance, to allow each LineSeries to obtain its offset positions and proportional values, according
            to the stacking context declared in the <see cref="P:Visiblox.Charts.StackedLineSeries.StackingMode"/> property.
            </para>
            <para>
            The <see cref="P:Visiblox.Charts.StackedLineSeries.StackingMode"/> dependency property applies the stacking method that should be applied.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IOffsetProvider"/>
            <seealso cref="T:Visiblox.Charts.LineSeries"/>
        </member>
        <member name="F:Visiblox.Charts.StackedLineSeries.StackingModeProperty">
            <summary>
            Identifies the StackingMode Dependency Property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.StackedLineSeries.OneHundredPercentTotals">
            <summary>
            A cache of the totals for each X value (which will be a category).
            This is used for 100% stacking to reduce the amount of recalculation of totals needed.
            This dictionary is updated in response to changes in DependentSeries.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.OnApplyTemplate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetBaseAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetPerpendicularAxisOffsetForDataPoint(Visiblox.Charts.IChartSeries,Visiblox.Charts.IDataPoint,System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetBaseAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetPerpendicularAxisOffsetGeometry(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetOneHundredPercentProportion(Visiblox.Charts.IStackableChartSeries,Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.CalculateTotal(Visiblox.Charts.IStackableChartSeries,Visiblox.Charts.IDataPoint)">
            <summary>
            Iterate through the points in the DependentSeriesCollection which correspond to the X-location given by dataPoint.
            Calculate the sum and store it in the dictionary.
            </summary>
            <param name="series"></param>
            <param name="dataPoint"></param>
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.DataPointAsDouble(Visiblox.Charts.IDataPoint)">
            <summary>
            Helper method to do IComparable - double conversion, throwing an exception if this cannot be done.
            Converts the Y value of the dataPoint to a double.
            </summary>
            <param name="dataPoint"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.AssociateSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.ValidateNewSeries">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.OnSeriesAdded(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.OnSeriesRemoved(System.Collections.Generic.IEnumerable{Visiblox.Charts.IChartSeries})">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.OnSeriesDataSeriesChanged(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetSideBySideSeries(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.GetSideBySideWidth(Visiblox.Charts.IChartSeries)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StackedLineSeries.RefreshDictionaryForSeries(Visiblox.Charts.IChartSeries)">
            <summary>
            Remove any data stored for each data point in the series from the OneHundredPercentTotals dictionary.
            </summary>
            <param name="series"></param>
        </member>
        <member name="P:Visiblox.Charts.StackedLineSeries.StackingMode">
            <summary>
            Gets or sets the property relating to the stacking method used to draw contained series. This is a Dependency Property.
            </summary>    
        </member>
        <member name="P:Visiblox.Charts.StackedLineSeries.IsXMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedLineSeries.IsXMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedLineSeries.IsYMinimumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.StackedLineSeries.IsYMaximumMarginEnabled">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.AutoSeriesGenerator">
            <summary>
            AutoSeriesGenerator defines attached properties to allow for an IEnumerable holding collections of business objects to be bound to a
            <see cref="T:Visiblox.Charts.Chart"/>, and have appropriate <see cref="T:Visiblox.Charts.IChartSeries"/> instances automatically generated and managed
            upon changes to this collection.
            </summary>
            <remarks>
            <para>
            The XValuePath and YValuePath define Paths to the properties on the business objects to use for the X and Y values of data points.
            The ChartSeriesProvider property is responsible for creating the <see cref="T:Visiblox.Charts.IChartSeries"/> instances for each collection.
            By default, this functionality is provided by <see cref="T:Visiblox.Charts.DefaultChartSeriesProvider"/>, which accepts a string representation of the Series type.
            The TitlePath property identifies the path to the property to use for the title of a created series.
            </para>
            <para>
            If the IEnumerable declared as the Source implements INotifyCollectionChanged, then AutoSeriesGenerator will subscribe to the CollectionChanged events
            fired and update the Chart series accordingly.
            </para>
            </remarks>
            <example>
            These attached properties are declared upon Chart within XAML.
            </example>
            <seealso cref="T:Visiblox.Charts.IChartSeriesProvider"/>
            <seealso cref="T:Visiblox.Charts.DefaultChartSeriesProvider"/>
        </member>
        <member name="F:Visiblox.Charts.AutoSeriesGenerator.XValuePathProperty">
            <summary>
            Identifies the path to the property to use as the X value for the auto-generated data points.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetXValuePath(System.Windows.DependencyObject)">
            <summary>
            Gets the value of the XValuePath property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetXValuePath(System.Windows.DependencyObject,System.String)">
            <summary>
            Sets the value of the XValuePath property
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AutoSeriesGenerator.YValuePathProperty">
            <summary>
            Identifies the path to the property to use as the Y value for the auto-generated data points.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetYValuePath(System.Windows.DependencyObject)">
            <summary>
            Gets the value of the YValuePath property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetYValuePath(System.Windows.DependencyObject,System.String)">
            <summary>
            Sets the value of the YValuePath property
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AutoSeriesGenerator.YValuePathsProperty">
            <summary>
            Identifies the YValuePaths attached property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetYValuePaths(System.Windows.DependencyObject)">
            <summary>
            Gets the value of the YValuePaths property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetYValuePaths(System.Windows.DependencyObject,Visiblox.Charts.YValuePathsCollection)">
            <summary>
            Sets the value of the YValuePaths property.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AutoSeriesGenerator.ChartSeriesProviderProperty">
            <summary>
            Identifies the ChartSeriesProvider responsible for creating the IChartSeries instances.
            By default, passing a string of the series name will instantiate that IChartSeries type.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetChartSeriesProvider(System.Windows.DependencyObject)">
            <summary>
            Gets the value of the ChartTypeProvider property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetChartSeriesProvider(System.Windows.DependencyObject,Visiblox.Charts.IChartSeriesProvider)">
            <summary>
            Sets the value of the ChartType property
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AutoSeriesGenerator.ItemsSourceProperty">
            <summary>
            Identifies the binding to the data to autogenerate IChartSeries for. In an MVVM context, specifies the binding to the view model holding the data.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetItemsSource(System.Windows.DependencyObject)">
            <summary>
            Gets the value of the Source property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetItemsSource(System.Windows.DependencyObject,System.Collections.IEnumerable)">
            <summary>
            Sets the value of the Source property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.OnItemsSourcePropertyChanged(System.Windows.DependencyObject,System.Windows.DependencyPropertyChangedEventArgs)">
            <summary>
            Handles property changed event for the Source property
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AutoSeriesGenerator.TitlePathProperty">
            <summary>
            Identifies the path to the property to use as the title for the auto-generated IChartSeries.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetTitlePath(System.Windows.DependencyObject)">
            <summary>
            Gets the value of the TitlePath property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetTitlePath(System.Windows.DependencyObject,System.String)">
            <summary>
            Sets the value of the TitlePath property
            </summary>
        </member>
        <member name="F:Visiblox.Charts.AutoSeriesGenerator.ItemsSourcePathProperty">
            <summary>
            In an MVVM context, identifies the property on the ItemsSource View Model which holds the data to autogenerate IChartSeries for.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetItemsSourcePath(System.Windows.DependencyObject)">
            <summary>
            Gets the value of the ItemsSourcePath property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetItemsSourcePath(System.Windows.DependencyObject,System.String)">
            <summary>
            Sets the value of the ItemsSourcePath property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SynchroniseChartWithSource(Visiblox.Charts.Chart)">
            <summary>
            Keep the Chart series in sync with the bound collection.
            </summary>
            <param name="chart"></param>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.SetBindableDataSeries(Visiblox.Charts.Chart,Visiblox.Charts.IChartSeries,System.String,System.Collections.IEnumerable)">
            <summary>
            Creates and sets a BindableDataSeries for the given IChartSeries. Sets the title, items source, X and Y bindings.
            Also sets the YValueBindings if the series type requires multi-Y-value bindings.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.AutoSeriesGenerator.GetPropertyValue``1(System.Object,System.String)">
            <summary>
            Gets the value of the named property.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BindableDataPointValueAdapter">
            <summary>
            Wraps a not neccesarily IComparable object into an IComparable interface using the adapter pattern.
            Used by <see cref="T:Visiblox.Charts.BindableDataPoint"/> to wrap 
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPointValueAdapter.#ctor(System.Object)">
            <summary>
            Constructor
            </summary>
            <param name="adaptee">The adaptee object</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPointValueAdapter.CompareTo(System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPointValueAdapter.ToString">
            <summary>
            Returns the adaptee object as a string
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPointValueAdapter.Equals(System.Object)">
            <summary>
            Returns whether the adaptee object is equal to the passed object
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BindableDataPointValueAdapter.GetHashCode">
            <summary>
            Returns the hashcode of the adaptee object
            </summary>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.BindableDataPointValueAdapter.Adaptee">
            <summary>
            Gets the wrapped object
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BindableDataSeries">
             <summary>
             Represents a data series with data binding support.
             </summary>
             <remarks>
             <para>
             To create a BindableDataSeries set the <see cref="P:Visiblox.Charts.BindableDataSeries.XValueBinding"/>, <see cref="P:Visiblox.Charts.BindableDataSeries.YValueBinding"/> and the <see cref="P:Visiblox.Charts.BindableDataSeries.ItemsSource"/>.
             BindableDataSeries can support binding to multiple Y values. In this case use the <see cref="P:Visiblox.Charts.BindableDataSeries.YValueBindings"/> instead of <see cref="P:Visiblox.Charts.BindableDataSeries.YValueBinding"/> to specify Y bindings.
             BindableDataSeries consists of <see cref="T:Visiblox.Charts.BindableDataPoint"/> objects. It creates and manages this collection automatically.
             </para>
             <para>If you do not require the ability to bind to an existing data source, <see cref="T:Visiblox.Charts.DataSeries`2"/> provides an 
             alternate <see cref="T:Visiblox.Charts.IDataSeries"/> implementation constructing a list of data points directly.</para>
             <para>BindableDataSeries implements a read-only IList of <see cref="T:Visiblox.Charts.IDataPoint"/> to allow for direct access to the BindableDataPoints.</para>
             <para>If the XValueBinding or YValueBinding (and YValueBindings) are null at the time of rendering, an InvalidOperationException is thrown.</para>
             </remarks>
            <example>
            Create a BindableDataSeries binded to a dictionary:
             <code source="Help\Charts\IncludedCode\CreateSimpleBindingExample.cs"/>
            </example>
             <seealso cref="T:Visiblox.Charts.BindableDataPoint"/>
             <seealso cref="T:Visiblox.Charts.DataSeries`2"/>
        </member>
        <member name="T:Visiblox.Charts.IDataSeries">
            <summary>
            Represents a collection that contains points which can be plotted on a chart but makes no assumptions about the way in which that
            data is visually presented.
            </summary>
            <remarks>
            <para>IDataSeries is used as data source for all <see cref="T:Visiblox.Charts.IChartSeries"/>.</para>
            <para>To create an IDataSeries bound to an existing data source, see <see cref="T:Visiblox.Charts.BindableDataSeries"/>, or to create
            an IDataSeries by directly constructing data points see <see cref="T:Visiblox.Charts.DataSeries`2"/>.</para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.IChartSeries"/>
            <seealso cref="T:Visiblox.Charts.DataSeries`2"/>
            <seealso cref="T:Visiblox.Charts.BindableDataSeries"/>
        </member>
        <member name="P:Visiblox.Charts.IDataSeries.Title">
            <summary>
             Gets or sets the title of the data series.
            </summary>
            <remarks>The data series title is displayed in the chart legend.</remarks>
        </member>
        <member name="T:Visiblox.Charts.INotifyPropertyChangedRelayer">
            <summary>
            Relays PropertyChanged events from a number of sources.
            </summary>
            <remarks>
            <para>
            The INotifyPropertyChangedRelayer interface is typically used to wrap a collection of INotifyPropertyChanged objects, 
                collect their PropertyChanged events and fire a relayed PropertyChangedRelay event.</para>
            <para>The interface is useful because the client subscribing to the PropertyChangedRelay event of this interface does
                not have to deal with individually subscribing/unsubscribing to the PropertyChanged events of the sources
                because the implementation should have taken care of this.</para>
            <para>The class <see cref="T:Visiblox.Charts.Primitives.RelayingObservableCollection`1"/> extends 
            <see cref="T:System.Collections.ObjectModel.ObservableCollection`1"/>, and can be used in place of 
            <see cref="T:System.Collections.ObjectModel.ObservableCollection`1"/> where PropertyChanged event relaying is desired.</para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.Primitives.RelayingObservableCollection`1"/>
            <seealso cref="T:Visiblox.Charts.BindableDataSeries"/>
        </member>
        <member name="E:Visiblox.Charts.INotifyPropertyChangedRelayer.PropertyChangedRelay">
            <summary>
            Occurs when a property value has changed on any of the members
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.#ctor(System.String)">
            <summary>
            Constructor creating a series with the given <paramref name="title"/>.
            </summary>
            <param name="title">Title of the data series</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction)">
            <summary>
            Invoked to issue a collection changed action when action is NotifyCollectionChangedAction.Reset
            </summary>
            <param name="action">Has to be NotifyCollectionChangedAction.Reset</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32)">
            <summary>
            Invoked to issue a collection changed action when action is NotifyCollectionChangedAction.Replace
            </summary>
            <param name="action">Has to be NotifyCollectionChangedAction.Replace</param>
            <param name="newItem">The new item being added</param>
            <param name="oldItem">The old item being replaced</param>
            <param name="index">The index of the change</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32)">
            <summary>
            Invoked to issue a collection changed action when action is NotifyCollectionChangedAction.Add or NotifyCollectionChangedAction.Remove
            </summary>
            <param name="action">Has to be NotifyCollectionChangedAction.Add or NotifyCollectionChangedAction.Remove</param>
            <param name="item">The item in question</param>
            <param name="index">The index of the item</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.GetBindableDataPoint(System.Object)">
            <summary>
            Creates a new BindableDataPoint from the passed item as datasource
            Subscribes to the PropertyChanged event of the point and supplies the bindings
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.BoundPoint_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Handles and re-sends property changed events.
            </summary>
            <param name="sender">The object raising the event.</param>
            <param name="e">The event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.RefreshDataPointsFromItemsSource">
            <summary>
            Refreshes the points collection from the ItemsSource property
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.CloneBinding(System.Windows.Data.Binding)">
            <summary>
            Clones the given binding, setting the source
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.ClearBoundList">
            <summary>
            Clears the bound list of objects, unsubscribing to their property changed events
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.INCCItemsSource_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the collection is changed
            Note: as AddRange is currently not implemented on ObservableCollection in Silverlight, e.NewItems never more than 1
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.OnPropertyChangedRelay(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the PropertyChangedRelay event.
            </summary>
            <param name="args">The event arguments.</param>
            <param name="originalSender">The original sender of the event.</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.Contains(Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.CopyTo(Visiblox.Charts.IDataPoint[],System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.GetEnumerator">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.IndexOf(Visiblox.Charts.IDataPoint)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.System#Collections#Generic#ICollection{Visiblox#Charts#IDataPoint}#Add(Visiblox.Charts.IDataPoint)">
            <summary>
            Not supported: Directly accessing the BindableDataSeries is read-only.
            </summary>
            <param name="item">Not supported</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.System#Collections#Generic#ICollection{Visiblox#Charts#IDataPoint}#Clear">
            <summary>
            Not supported: Directly accessing the BindableDataSeries is read-only.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.System#Collections#Generic#IList{Visiblox#Charts#IDataPoint}#Insert(System.Int32,Visiblox.Charts.IDataPoint)">
            <summary>
            Not supported: Directly accessing the BindableDataSeries is read-only.
            </summary>
            <param name="index">Not supported</param>
            <param name="item">Not supported</param>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.System#Collections#Generic#ICollection{Visiblox#Charts#IDataPoint}#Remove(Visiblox.Charts.IDataPoint)">
            <summary>
            Not supported: Directly accessing the BindableDataSeries is read-only.
            </summary>
            <param name="item">Not supported</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.BindableDataSeries.System#Collections#Generic#IList{Visiblox#Charts#IDataPoint}#RemoveAt(System.Int32)">
            <summary>
            Not supported: Directly accessing the BindableDataSeries is read-only.
            </summary>
            <param name="index">Not supported</param>
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.ItemsSource">
            <summary>
            Gets or sets the ItemsSource property. This is the source data for the BindableDataSeries, it will be converted into
            a list of BindableDataPoints.
            </summary>
            <remarks>
            If the IEnumerable object passed in extends INotifyCollectionChanged, the BindableDataSeries will automatically update for
            item changes within the collection.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.YValueBindings">
            <summary>
            Gets or sets bindings for the Y points
            For single valued data points a single <see cref="T:Visiblox.Charts.YValueBinding"/> is used, 
            for multi Y-value data points multiple ones are used.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.XValueBinding">
            <summary>
            Gets or sets the binding for the X point.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.YValueBinding">
            <summary>
            Gets or sets the binding for the Y point.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.Title">
            <inheritdoc/>
        </member>
        <member name="E:Visiblox.Charts.BindableDataSeries.CollectionChanged">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="E:Visiblox.Charts.BindableDataSeries.PropertyChangedRelay">
            <summary>
            <inheritdoc/>
            </summary>
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <returns>The selected element.</returns>
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.Count">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.BindableDataSeries.System#Collections#Generic#IList{Visiblox#Charts#IDataPoint}#Item(System.Int32)">
            <summary>
            Directly accessing the BindableDataSeries is read-only.
            </summary>
            <param name="index">Supported for read only</param>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.DataPoint`2">
            <summary>
            Represents a single-valued datapoint which is stored in the <see cref="T:Visiblox.Charts.DataSeries`2"/> class.
            </summary>
            <remarks>
            DataPoint defines a two-dimensional (X and Y) point. It offers good performance but does not support multiple Y values or data binding.
            To use a datapoint with multiple Y values see <see cref="T:Visiblox.Charts.MultiValuedDataPoint`2"/>.
            To create data points automatically from a data source via binding, see <see cref="T:Visiblox.Charts.BindableDataSeries"/> (this also supports multiple Y values).
            </remarks>
            <typeparam name="TX">The X axis value type</typeparam>
            <typeparam name="TY">The Y axis value type</typeparam>
        </member>
        <member name="T:Visiblox.Charts.IObservableDataPoint">
            <summary>
            Represents an <see cref="T:Visiblox.Charts.IDataPoint"/> that implements <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
            <remarks>
            The IObservableDataPoint also defines setters on the X and Y properties of the data point.
            This interface is inherited by <see cref="T:Visiblox.Charts.DataPoint`2"/>.
            </remarks>
            <seealso cref="T:Visiblox.Charts.IDataPoint"/>
        </member>
        <member name="P:Visiblox.Charts.IObservableDataPoint.X">
            <summary>
            Gets or sets the X value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IObservableDataPoint.Y">
            <summary>
            Gets or sets the Y value for this datapoint
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataPoint`2.#ctor">
            <summary>
             Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataPoint`2.#ctor(`0,`1)">
            <summary>
            Constructor specify the X and Y values of the point.
            </summary>
            <param name="x">X value of the datapoint</param>
            <param name="y">Y value of the datapoint</param>
        </member>
        <member name="M:Visiblox.Charts.DataPoint`2.OnPropertyChanged(System.String)">
            <summary>
            Raises the PropertyChanged event
            </summary>
            <param name="property">The name of the property which changed.</param>
        </member>
        <member name="M:Visiblox.Charts.DataPoint`2.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this DataPoint&lt;TX, TY&gt;.
            </summary>
            <param name="obj">The object to test for equality</param>
            <returns>Whether <paramref name="obj"/> is equal to this object.</returns>
        </member>
        <member name="M:Visiblox.Charts.DataPoint`2.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="E:Visiblox.Charts.DataPoint`2.PropertyChanged">
            <summary>
            Occurs when the X or Y property of the datapoint changes
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Model">
            <summary>
            This class represents itself as the model.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Item(System.Object)">
            <summary>
            Indexer for the Y Value data range.
            Because this is a single value datapoint this is just the Y value.
            </summary>
            <param name="indexer">The indexer (or key) of the Y value</param>
            <returns>The Y value of the data point</returns>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.YValueMaximum">
            <summary>
            Gets the maximum of the Y values
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.YValueMinimum">
            <summary>
            Gets the minimum of the Y values
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.X">
            <summary>
            Gets or sets the X value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Y">
            <summary>
            Gets or sets the Y value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Visiblox#Charts#IDataPoint#X">
            <summary>
            Gets the X value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Visiblox#Charts#IObservableDataPoint#X">
            <summary>
            The X value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Visiblox#Charts#IDataPoint#Y">
            <summary>
            Gets the Y value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Visiblox#Charts#IObservableDataPoint#Y">
            <summary>
            Gets or sets the Y value for this datapoint
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataPoint`2.Tag">
            <summary>
            Gets or sets an arbitrary object value that can be used to store custom information about this element.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.DataSeries`2">
            <summary>
            An <see cref="T:Visiblox.Charts.IDataSeries"/> consisting of a collection of <see cref="T:Visiblox.Charts.DataPoint`2">DataPoint</see> objects.
            </summary>
            <remarks>
            DataSeries fires PropertyChanged and CollectionChanged notifications when its data points are changed.
            DataSeries does not support binding. For a series with binding support see <see cref="T:Visiblox.Charts.BindableDataSeries"/>.
            </remarks>
            <typeparam name="TX">The X axis value type.</typeparam>
            <typeparam name="TY">The Y axis value type.</typeparam>
        </member>
        <member name="T:Visiblox.Charts.Primitives.RelayingObservableCollection`1">
            <summary>
            Represents a collection that relays member changed events as well as collection changed events.
            </summary>
            <remarks>
            RelayingObservableCollection automatically takes care of subscibing/unsubscribing to member 
            PropertyChanged handlers, collection changed events and propagates these via the 
            <see cref="E:Visiblox.Charts.Primitives.RelayingObservableCollection`1.PropertyChangedRelay"/> event.
            <see cref="T:Visiblox.Charts.DataSeries`2"/> inherits from this class.
            </remarks>
            <typeparam name="T">The type of the collection elements.</typeparam>
            <seealso cref="T:Visiblox.Charts.DataSeries`2"/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RelayingObservableCollection`1.InsertItem(System.Int32,`0)">
            <summary>
            Inserts the given <paramref name="item"/> into the collection, adding its property changed event to the relay event.
            </summary>
            <param name="index">Index to insert the item at.</param>
            <param name="item">Item to insert.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RelayingObservableCollection`1.RemoveItem(System.Int32)">
            <summary>
            Removes the given item from the collection, unregistering its property changed event.
            </summary>
            <param name="index">Index of the item to fetch.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RelayingObservableCollection`1.ClearItems">
            <summary>
            Clears the collection, unregistering all property changed events.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RelayingObservableCollection`1.OnPropertyChangedRelay(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the PropertyChangedRelay event.
            </summary>
            <param name="originalSender">The object which raised the original event.</param>
            <param name="args">The original event arguments.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RelayingObservableCollection`1.Item_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Handles member property changed events, rethrowing an relay event.
            </summary>
            <param name="e">The arguments of the event being raised.</param>
            <param name="sender">The item within the collection which raised the event.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RelayingObservableCollection`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds multiple items to the collection. 
            </summary>
            <remarks>Fires a single reset event after all items are added. For best results use this when there are
            several or many items to add, but always use a single <see cref="M:System.Collections.ObjectModel.Collection`1.Add(`0)"/> to add individual items.</remarks>
            <param name="items">The items to add to the collection.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RelayingObservableCollection`1.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Overrides OnCollectionChanged in order to suppress <see cref="T:System.Collections.Specialized.INotifyCollectionChanged"/> 
            notifications when adding a range.
            </summary>
            <param name="e">Arguments of the event being raised.</param>
        </member>
        <member name="E:Visiblox.Charts.Primitives.RelayingObservableCollection`1.PropertyChangedRelay">
            <summary>
            Relay event: occurs when any property value has changed.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DataSeries`2._title">
            <summary>
            The title of the data series
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeries`2.#ctor">
            <summary>
            Constructor creating an empty data series with no title set.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeries`2.#ctor(System.Collections.Generic.IEnumerable{Visiblox.Charts.DataPoint{`0,`1}})">
            <summary>
            Constructor creating a DataSeries with the given <paramref name="points"/>, and no title set.
            </summary>
            <param name="points">Collection of datapoints that the series consists of.</param>
        </member>
        <member name="M:Visiblox.Charts.DataSeries`2.#ctor(System.String)">
            <summary>
            Constructor creating an empty DataSeries with the given <paramref name="title"/>.
            </summary>
            <param name="title">Title of the dataseries</param>
        </member>
        <member name="M:Visiblox.Charts.DataSeries`2.#ctor(System.String,System.Collections.Generic.IEnumerable{Visiblox.Charts.DataPoint{`0,`1}})">
            <summary>
            Constructor creating a DataSeries with the given <paramref name="points"/>, and the title <paramref name="title"/>.
            </summary>
            <param name="title">Title of the dataseries</param>
            <param name="points">Collection of datapoints that the series consists of.</param>
        </member>
        <member name="M:Visiblox.Charts.DataSeries`2.Add(`0,`1)">
            <summary>
            Convenience method for adding data points to the data series.
            </summary>
            <param name="x">The x value of the new data point</param>
            <param name="y">The y value of the new data point</param>
        </member>
        <member name="P:Visiblox.Charts.DataSeries`2.Title">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.DataSeriesWithRanges">
            <summary>
            Extends DataSeries with Range support
            Automatically re-calculates X and Y ranges when DataSeries is changed
            </summary>
        </member>
        <member name="T:Visiblox.Charts.IDataSeriesWithRanges">
            <summary>
            Extends <see cref="T:Visiblox.Charts.IDataSeries"/> with range support.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IDataSeriesWithRanges.UnsubscribeFromEvents">
            <summary>
            Unsets the wrapped data series by de-registering events
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IDataSeriesWithRanges.XValueRange">
            <summary>
            X value range of the wrapped data series
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IDataSeriesWithRanges.YValueRange">
            <summary>
            Y value range of the wrapped data series
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DataSeriesWithRanges._xAxisRange">
            <summary>
            An instance of the type of IRange used by the X axis against which this data series will be plotted
            </summary>
        </member>
        <member name="F:Visiblox.Charts.DataSeriesWithRanges._yAxisRange">
            <summary>
            An instance of the type of IRange used by the Y axis against which this data series will be plotted
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.#ctor(Visiblox.Charts.IRange,Visiblox.Charts.IRange,Visiblox.Charts.IDataSeries)">
            <summary>
            Constructor
            </summary>
            <param name="xAxisRange">Range for the X axis</param>
            <param name="yAxisRange">Range for the Y axis</param>
            <param name="adaptee">The data series to be wrapped</param>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.UnsubscribeFromEvents">
            <summary>
            Unsets the wrapped data series by de-registering events
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.GetEnumerator">
            <summary>
            Returns the enumerator of the adaptee
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.DataSeries_PropertyChangedRelay(System.Object,Visiblox.Charts.PropertyChangedRelayerEventArgs)">
            <summary>
            Invoked when adaptee fires a PropertyChangedRelay event
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.adaptee_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when adaptee fires a CollectionChanged event
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.RemoveOldItems(System.Boolean@,System.Boolean@,System.Collections.IList)">
            <summary>
            Handle old items being removed from the dataseries, determining whether the X or Y ranges need to be recalculated because of this.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.ConvertOldPointTypeToRangeType(System.IComparable,Visiblox.Charts.IRange)">
            <summary>
            Check the old point type with the current range type and, if they are not equal, convert to the value range type
            </summary>
            <param name="oldPointValue">Point to check and possibly convert</param>
            <param name="valueRange">The range to convert to if necessary</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.AddNewItems(System.Collections.IList)">
            <summary>
            Handle new items being added to the dataseries, expanding the range to accomodate them.
            </summary>
            <param name="newItems"></param>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.GrowRange(Visiblox.Charts.IDataPoint)">
            <summary>
            Grows both XValueRange and YValueRange with the passed point X and Y values
            </summary>
            <param name="point"></param>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.IsPointValid(Visiblox.Charts.IDataPoint)">
            <summary>
            Checks whether this data point is valid for inclusion in a range
            </summary>
            <param name="point"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.GrowXRange(Visiblox.Charts.IDataPoint,Visiblox.Charts.IRange@)">
            <summary>
            Grows <paramref name="range"/> with the X value of the point
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.GrowYRange(Visiblox.Charts.IDataPoint,Visiblox.Charts.IRange@)">
            <summary>
            Grows <paramref name="range"/> with the Y value of the point
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.RecalculateXRange">
            <summary>
            Resets XValueRange and re-calculates it
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.RecalculateYRange">
            <summary>
            Resets YValueRange and re-calculates it
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DataSeriesWithRanges.RecalculateRange(Visiblox.Charts.IRange,Visiblox.Charts.IRange@,Visiblox.Charts.IDataSeries,Visiblox.Charts.DataSeriesWithRanges.GrowAxisDelegate)">
            <summary>
            Recalculates the range
            </summary>
            <param name="axisRange">The range of the axis that belongs to <paramref name="valueRange"/></param>
            <param name="valueRange">The range that needs to be recalculated (either _xValueRange or _yvalueRange)</param>
            <param name="adaptee">The adaptee collection</param>
            <param name="growAxisRangeDelegate">The method to call when growing the axis range</param>
        </member>
        <member name="P:Visiblox.Charts.DataSeriesWithRanges.XValueRange">
            <summary>
            X value range of the wrapped data series
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataSeriesWithRanges.YValueRange">
            <summary>
            Y value range of the wrapped data series
            </summary>
        </member>
        <member name="P:Visiblox.Charts.DataSeriesWithRanges.Title">
            <summary>
            The title of the adaptee
            </summary>
        </member>
        <member name="E:Visiblox.Charts.DataSeriesWithRanges.CollectionChanged">
            <summary>
            INotifyCollectionChanged implementation
            </summary>
        </member>
        <member name="T:Visiblox.Charts.DefaultChartSeriesProvider">
            <summary>
            A default implementation of <see cref="T:Visiblox.Charts.IChartSeriesProvider"/>, which always provides instances of the
            <see cref="T:Visiblox.Charts.IChartSeries"/> type passed upon instantiation.
            </summary>
            <remarks>
            <para>
            Given a collection containing collections of business objects, this implementation of IChartSeriesProvider
            ensures that each collection will be represented by the same chart series type. If this is not the desired behaviour, it is suggested to
            define a custom implementation of IChartSeriesProvider.
            </para>
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.IChartSeriesProvider">
            <summary>
            An interface for providing instances of IChartSeries to a Chart via an attached behaviour on <see cref="T:Visiblox.Charts.AutoSeriesGenerator"/>.
            Strings representing IChartSeries types are automatically converted into a type using <see cref="T:Visiblox.Charts.DefaultChartSeriesProvider"/>.
            </summary>
            <seealso cref="T:Visiblox.Charts.DefaultChartSeriesProvider"/>
            <seealso cref="T:Visiblox.Charts.Primitives.StringToChartSeriesProviderConverter"/>
        </member>
        <member name="M:Visiblox.Charts.IChartSeriesProvider.CreateSeries(System.Object,System.Object)">
            <summary>
            Creates an appropriate IChartSeries instance for a bound object.
            </summary>
            <param name="targetParent">The target calling this method. When targetParent is an <see cref="T:Visiblox.Charts.IChartMultipleSeries"/>,
            CreateSeries should enforce any type constraints upon the IChartMultipleSeries.Series property.</param>
            <param name="boundObject">The data bound object to wrap in an IChartSeries instance.</param>
            <returns>An instance of the appropriate IChartSeries</returns>
        </member>
        <member name="M:Visiblox.Charts.DefaultChartSeriesProvider.#ctor(System.Type)">
            <summary>
            Constructor.
            </summary>
            <param name="seriesType">The <see cref="T:System.Type"/> of series to create.</param>
        </member>
        <member name="M:Visiblox.Charts.DefaultChartSeriesProvider.CreateSeries(System.Object,System.Object)">
            <inheritdoc />
        </member>
        <member name="T:Visiblox.Charts.IChartSeriesAwareDataSeries">
            <summary>
            A sub-interface of <see cref="T:Visiblox.Charts.IDataSeries"/> which is aware of of the <see cref="T:Visiblox.Charts.IChartSeries"/> it is attached to
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IChartSeriesAwareDataSeries.ChartSeries">
            <summary>
            Gets or sets the <see cref="T:Visiblox.Charts.IChartSeries"/> to which this data series is attached
            </summary>
        </member>
        <member name="T:Visiblox.Charts.PropertyChangedRelayerEventHandler">
            <summary>
            Handles relayed PropertyChanged events.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.MultiValuedDataPoint`2">
            <summary>
            Represents a multi Y valued datapoint
            </summary>
            <remarks>
            <para>Multiple Y values are stored in a <see cref="T:System.Collections.Generic.Dictionary`2"/>, which is given in
            the constructor.</para>
            <para>For single valued data points use <see cref="T:Visiblox.Charts.DataPoint`2"/>.</para>
            </remarks>
            <typeparam name="TX">The X axis value type</typeparam>
            <typeparam name="TY">The Y axis value type</typeparam>
        </member>
        <member name="F:Visiblox.Charts.MultiValuedDataPoint`2._yValues">
            <summary>
            The Y values for this datapoint
            </summary>
        </member>
        <member name="M:Visiblox.Charts.MultiValuedDataPoint`2.#ctor(`0,System.Collections.Generic.Dictionary{System.Object,`1})">
            <summary>
             Constructor. If this constructor is used, the point will not have a Y value.
            </summary>
            <param name="xValue">The X point</param>
            <param name="yValues">Collection of Y values.</param>
        </member>
        <member name="M:Visiblox.Charts.MultiValuedDataPoint`2.#ctor(`0,`1,System.Collections.Generic.Dictionary{System.Object,`1})">
            <summary>
             Constructor
            </summary>
            <param name="xValue">The X point</param>
            <param name="yValue">The Y point</param>
            <param name="yValues">Collection of Y values.</param>
        </member>
        <member name="M:Visiblox.Charts.MultiValuedDataPoint`2.GetSortedYValues">
            <summary>
            Gets a list of sorted Y values (including the Y property itself) for computing minimum/maximum
            </summary>
        </member>
        <member name="P:Visiblox.Charts.MultiValuedDataPoint`2.Item(System.Object)">
            <summary>
            Gets or sets indexer for the Y Axis values
            </summary>
            <param name="indexer">The Y Value description</param>
            <returns>The indexed Y value</returns>
        </member>
        <member name="P:Visiblox.Charts.MultiValuedDataPoint`2.Item(System.String)">
            <summary>
            Gets or sets indexer for the Y Axis values
            </summary>
            <param name="indexer">The Y Value description</param>
            <returns>The indexed Y value</returns>
        </member>
        <member name="P:Visiblox.Charts.MultiValuedDataPoint`2.YValueMaximum">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.MultiValuedDataPoint`2.YValueMinimum">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.PropertyChangedRelayerEventArgs">
            <summary>
            Contains state information and event data associated with a PropertyChangedRelay event.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.PropertyChangedRelayerEventArgs.#ctor(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Constructor
            </summary>
            <param name="originalSource">Object raising the original PropertyChanged event.</param>
            <param name="e">Arguments of the original PropertyChanged event.</param>
        </member>
        <member name="P:Visiblox.Charts.PropertyChangedRelayerEventArgs.PropertyName">
            <summary>
            Gets the name of the property that changed.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.PropertyChangedRelayerEventArgs.OriginalSource">
            <summary>
            The original source of the PropertyChanged event.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.YValueBinding">
            <summary>
            Represents a value object used to indicate the binding for a Y-value.
            </summary>
            <remarks>
            This class is used in <see cref="T:Visiblox.Charts.BindableDataSeries"/> to store multiple Y value bindings.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.YValueBinding.Binding">
            <summary>
            Gets or sets the binding for a Y value.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.YValueBinding.YValueKey">
            <summary>
            Gets or sets the name of the Y-value to which the binding relates.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.YValuePathsCollection">
            <summary>
            Represents a collection of <see cref="T:Visiblox.Charts.YValuePath"/> objects used to indentify the paths to Y-values for a multi-Y value data points.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.YValuePath">
            <summary>
            Represents a value object used to indicate the binding for a Y-value on a multi-Y-valued data pont.
            </summary>
            <remarks>
            <para>
            A YValuePath object holds a path to a property to bind to the given key value on a multi-Y-valued data point. Multiple YValuePaths are held within a
            YValuePathsCollection, and are supplied to the AutoSeriesGenerator.YValuePaths attached property to automatically create multi-Y-valued chart series.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.YValuePathsCollection"/>
            <seealso cref="T:Visiblox.Charts.AutoSeriesGenerator"/>
        </member>
        <member name="P:Visiblox.Charts.YValuePath.Path">
            <summary>
            Gets or sets the path to a Y value.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.YValuePath.Key">
            <summary>
            Gets or sets the name of the Y-value to which the binding relates.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Extensions">
            <summary>
            Extensions for the Visiblox API
            </summary>
            <remarks>
            This file provides extensions for <see cref="N:Visiblox.Charts"/> specific notions.
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.InternalExtensions">
            <summary>
            Provides some general-use internal extension methods.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.IsNumeric(System.Type)">
            <summary>
            Returns true for any numeric type.
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.GetQuarter(System.DateTime)">
            <summary>
            Obtains the quarter of this DateTime instance
            </summary>
            <param name="time"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
            <summary>
            Applies the given action to all the enumerated items.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.Clone(System.Windows.Style)">
            <summary>
            Clones a style
            </summary>
            <param name="style"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.MergeWith(System.Windows.Style,System.Windows.Style)">
            <summary>
            Merges <paramref name="parentStyle"/> with <paramref name="childStyle"/>
            </summary>
            <param name="childStyle">The child (more dominant) member of the new style</param>
            <param name="parentStyle">The parent (less dominant) member of the new style</param>        
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.ReverseMembers``1(System.Collections.Generic.IList{``0})">
            <summary>
            Reverses items in the list
            </summary>
            <typeparam name="T"></typeparam>
            <param name="list"></param>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.CollectionAsString(System.Windows.Media.DoubleCollection)">
            <summary>
            Converts <paramref name="collection"/> to a string of comma separated values.
            </summary>
            <param name="collection"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.CloneDeep(System.Windows.Media.PathGeometry)">
            <summary>
            Deepl clones a PathGeometry
            </summary>
            <param name="pathGeometry"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.HasFlag(Visiblox.Charts.AxisEventEnumeration,Visiblox.Charts.AxisEventEnumeration)">
            <summary>
            Determines whether one or more bit fields are set in the current instance.
            </summary>
            <remarks>
            Not supported in SL3 or WPF so is defined as an extension here
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.InternalExtensions.DoEvents(System.Windows.Application)">
            <summary>
            Defer to all other operations in the queue - see http://kentb.blogspot.com/2008/04/dispatcher-frames.html
            </summary>
        </member>
        <member name="T:Visiblox.Charts.ExtendedLegendPosition">
            <summary>
            Determines where the legend should be displayed within the <see cref="T:Visiblox.Charts.Chart"/>.
            Supports inside and outside legend positioning.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.LeftOutside">
            <summary>
            On the left, outside of the the plot area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.LeftInside">
            <summary>
            On the left, inside the the plot area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.RightInside">
            <summary>
            On the right, inside the the plot area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.RightOutside">
            <summary>
            On the right, outside of the the plot area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.TopOutside">
            <summary>
            Above the the plot area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.TopInside">
            <summary>
            On the top of the plot area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.BottomInside">
            <summary>
            On the bottom of the plot area
            </summary>
        </member>
        <member name="F:Visiblox.Charts.ExtendedLegendPosition.BottomOutside">
            <summary>
            Below the plot area
            </summary>
        </member>
        <member name="T:Visiblox.Charts.LegendItem">
            <summary>
            An item within the legend, bound to a series.
            </summary>
            <remarks>
            Legend items are automatically created and added to the chart, see <see cref="T:Visiblox.Charts.Legend"/> for more information.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.LegendItem.#ctor">
            <summary>
             Default constructor        
            </summary>
        </member>
        <member name="T:Visiblox.Charts.LegendOrdering">
            <summary>
            Defines ordering modes for legend items.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LegendOrdering.Normal">
            <summary>
            The order in which the items were added to the legend.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LegendOrdering.Reversed">
            <summary>
            The reverse of the order in which the items were added to the legend.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LegendOrdering.Alphabetical">
            <summary>
            Ordered alphabetically by title.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.LegendPosition">
            <summary>
            Determines where the legend should be displayed within the <see cref="T:Visiblox.Charts.Chart"/>
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LegendPosition.Left">
            <summary>
            To the left of the chart
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LegendPosition.Right">
            <summary>
            To the right of the chart
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LegendPosition.Top">
            <summary>
            Above the chart
            </summary>
        </member>
        <member name="F:Visiblox.Charts.LegendPosition.Bottom">
            <summary>
            Below the chart
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.AlignmentConverter">
            <summary>
            A Converter that converts a <see cref="T:System.Windows.HorizontalAlignment"/> to a <see cref="T:System.Windows.TextAlignment"/>.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AlignmentConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Left, Right and Center <see cref="T:System.Windows.HorizontalAlignment"/>s are converted to corresponding <see cref="T:System.Windows.TextAlignment"/>s.  HorizontalAlignment.Stretch is converted to TextAlignment.Center.  
            </summary>
            <param name="value"></param>
            <param name="targetType"></param>
            <param name="parameter"></param>
            <param name="culture"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AlignmentConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Left, Right and Center <see cref="T:System.Windows.TextAlignment"/>s are converted back to corresponding <see cref="T:System.Windows.HorizontalAlignment"/>s.  
            </summary>
            <param name="value"></param>
            <param name="targetType"></param>
            <param name="parameter"></param>
            <param name="culture"></param>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator">
            <summary>
            Auto scales a range by comparing it to a list of x and y ranges
            </summary>
            <remarks>
            A class used when <see cref="P:Visiblox.Charts.IAxis.AutoScaleToVisibleData"/> is set to true on one or more axes within the chart.
            The component takes a list of <see cref="P:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.XRangesToLimitBy"/> and <see cref="P:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.YRangesToLimitBy"/> to limit by and imposes the range of the
            data visible on a range in <see cref="M:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.ScaleRangeToVisibleData(Visiblox.Charts.IRange@,System.Boolean,Visiblox.Charts.IAxis,Visiblox.Charts.IDataSeries)"/>.
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator._rangeToScale">
            <summary>
            A flag to check whether the initial (the first value within the range of an axis we come across)
            has been set.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.#ctor(System.Collections.Generic.IEnumerable{Visiblox.Charts.IRange},System.Collections.Generic.IEnumerable{Visiblox.Charts.IRange})">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.ScaleRangeToVisibleData(Visiblox.Charts.IRange@,System.Boolean,Visiblox.Charts.IAxis,Visiblox.Charts.IDataSeries)">
            <summary>
            Auto scale the range using the data currently visible in this <see cref="T:Visiblox.Charts.IDataSeries"/>
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.ScaleRangeToVisibleDataPoint(Visiblox.Charts.IDataPoint)">
            <summary>
            Passes the X and Y limiting ranges on to be iterated
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.IterateOverLimitingRangesAndAdjustRange(System.Collections.Generic.IEnumerable{Visiblox.Charts.IRange},Visiblox.Charts.IDataPoint,System.Boolean)">
            <summary>
            Iterates over the limiting ranges and passes the range on in each iteration on, if necessary, to be compared and updated
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.CompareDataPointValueSetRange(System.IComparable,System.IComparable,System.IComparable,System.IComparable,Visiblox.Charts.IRange)">
            <summary>
            Compare the data points with the min and max values in the axis range and set them if necessary.
            In the case of the category range, we must use the Categories collection rather than the Minimum and Maximum properties
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.AreTypesComparable(System.IComparable,System.IComparable)">
            <summary>
            Tries to rule out comparison of obviously incomparable types (e.g. bool to int).  This method just does its best
            to rule out cases as it will not be possible in the general case to determine that since it is dependent on the implementation
            of CompareTo.  This method is only here to avoid obvious cases which would result in lots of thrown and caught exceptions which has a huge
            performance impact.
            </summary>
            <param name="a"></param>
            <param name="b"></param>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.XRangesToLimitBy">
            <summary>
            Gets or sets the XRanges to limit the range with
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.AutoScaleToVisibleDataCalculator.YRangesToLimitBy">
            <summary>
            Gets or sets the YRanges to limit the range with
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.BoolToVisibilityConverter">
            <summary>
            Converts true to <see cref="F:System.Windows.Visibility.Visible"/> and false
            to <see cref="F:System.Windows.Visibility.Collapsed"/>.
            </summary>
            <remarks>
            The conversion only works from bool to <see cref="T:System.Windows.Visibility"/>, not the other way round.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.Primitives.BoolToVisibilityConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Converts true to <see cref="F:System.Windows.Visibility.Visible"/> and false to <see cref="F:System.Windows.Visibility.Collapsed"/>.
            </summary>
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.BoolToVisibilityConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            See <see cref="T:System.Windows.Data.IValueConverter"/>, not implemented.
            </summary>
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.Primitives.Clip">
            <summary>
            Defines an attached property which clips a framework element to be bounded by its actual size.
            </summary>
            <remarks>This class defines an attached property <c>Clip.ToBounds</c>. Attaching this property to a 
            <see cref="T:System.Windows.FrameworkElement"/> causes its <see cref="P:System.Windows.UIElement.Clip"/> 
            property to be set to its actual size (and resized accordingly when the element is resized).
            This results in the <see cref="T:System.Windows.FrameworkElement"/> clipping its children at its boundaries.
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.Primitives.Clip.ToBoundsProperty">
            <summary>
            Identifies the ToBounds Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.Clip.GetToBounds(System.Windows.DependencyObject)">
            <summary>
            Gets the ToBounds Dependency Property.
            </summary>
            <param name="target">Object from which to retrieve the property.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.Clip.SetToBounds(System.Windows.DependencyObject,System.Boolean)">
            <summary>
            Sets the ToBounds dependency Property.
            </summary>
            <param name="target">Object on which to set the property.</param>
            <param name="value">Value to set.</param>
        </member>
        <member name="T:Visiblox.Charts.Primitives.ContextMenu">
            <summary>
            Represents a context menu (right-click menu).
            </summary>
            <remarks>A ContextMenu consists of a collection of <see cref="T:Visiblox.Charts.Primitives.ContextMenuItem"/> objects, displayed in a popup on right click. When an item is clicked,
            or a click occurs in the parent container outside of the menu, the menu is then hidden again. The menu does not indicate what was selected, instead the
            selected item will fire an event to indicate it has been clicked.</remarks>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ContextMenu.#ctor(System.Windows.Controls.Panel)">
            <summary>
            Create a new context menu activated on right click on the given <paramref name="rootElement"/>.
            </summary>
            <param name="rootElement">Element to attach context menu to.</param>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ContextMenu.RootElement">
            <summary>
            Gets the element to which this context menu is attached.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ContextMenu.Items">
            <summary>
            Gets the collection of items in this context menu.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.ContextMenuItem">
            <summary>
            Represents an item in a <see cref="T:Visiblox.Charts.Primitives.ContextMenu"/>, consisting of a clickable line of text.
            </summary>
            <remarks>A ContextMenuItem displays the given <see cref="P:Visiblox.Charts.Primitives.ContextMenuItem.Text"/>, and if clicked will fire an <see cref="E:Visiblox.Charts.Primitives.ContextMenuItem.ItemSelected"/> event.</remarks>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ContextMenuItem.#ctor(System.String)">
            <summary>
            Constructor, making a menu item with the given <paramref name="text"/>.
            </summary>
            <param name="text">Text of the menu item.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ContextMenuItem.ItemClickedHandler(System.Object,System.Windows.Input.MouseButtonEventArgs)">
            <summary>
            Item clicked, raise an event and unselect in case the item is redisplayed later.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ContextMenuItem.Text">
            <summary>
            Text of the menu item.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.Primitives.ContextMenuItem.ItemSelected">
            <summary>
            Event indicating the menu item has been selected.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ContextMenuItem.Element">
            <summary>
            Display element of the menu item.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.ContextMenuItem.ItemSelectedHandler">
            <summary>
            Handler for the <see cref="E:Visiblox.Charts.Primitives.ContextMenuItem.ItemSelected"/> event.
            </summary>
            <param name="sender">Item raising the event.</param>
            <param name="e">Event arguments</param>
        </member>
        <member name="T:Visiblox.Charts.Primitives.DataPointYValuesConverter">
            <summary>
            Gets a named Y value from an <see cref="T:Visiblox.Charts.IDataPoint"/> by indexing it 
            with the given converter parameter.
            </summary>
            <remarks>
            This converter works around the limitation that in Silverlight 3, it is not possible to bind to an 
            expression using an arbitrary indexer, and in Silverlight 4, there are still limitations on indexers
            in binding (must be an int or string, and no multiple indexers allowed). It may be useful to 
            use a DataPointYValuesConverter when binding to a multi-valued data point, such as when defining a tooltip template.
            </remarks>
            <example>
            The following XAML demonstrates the use of a DataPointYValuesConverter to access the High value of a multi-value data point.
            <code source="Help\Charts\IncludedCode\DataPointYValuesExample.xml" lang="XAML"/>
            </example>
            <seealso cref="T:Visiblox.Charts.IDataPoint"/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DataPointYValuesConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Gets a named Y value from <paramref name="value"/> by indexing it with <paramref name="parameter"/>.
            </summary>
            <param name="value">An <see cref="T:Visiblox.Charts.IDataPoint"/> to index.</param>
            <param name="targetType">The target type (ignored).</param>
            <param name="parameter">The key for the Y value.</param>
            <param name="culture">The culture to use for this conversion (ignored).</param>
            <returns>The resulting Y value.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DataPointYValuesConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>See <see cref="T:System.Windows.Data.IValueConverter"/>, not implemented.</summary>
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.Primitives.DateTimeConverter">
            <summary>
            A type converter that can convert from a string to a <see cref="T:System.DateTime"/> and vice versa.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
             Whether this type converter can convert from a particular source type
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="sourceType">The source type</param>
            <returns>True if this can convert from the source type to a <see cref="T:System.DateTime"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
             Whether this type converter can convert from a <see cref="T:System.DateTime"/> to the destination type
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="destinationType">The destination type</param>
            <returns>True if this can convert from DateTime to string</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
             Converts from a string representation to a <see cref="T:System.DateTime"/>.
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="culture">The culture to use</param>
            <param name="value">The value to convert</param>
            <returns>A DateTime</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
             Converts from a <see cref="T:System.DateTime"/> to the destination type
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="culture">The culture to use during conversion</param>
            <param name="value">The value to convert</param>
            <param name="destinationType">The destination type to convert to</param>
            <returns>The converted <paramref name="value"/>, e.g. a string representation of the <see cref="T:System.DateTime"/>.</returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.DateTimeDoubleStringConverter">
            <summary>
            A type converter that attepts to parse the passed argument into a DateTime, then a Double and finally 
                as a String.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeDoubleStringConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
             Whether this type converter can convert from a particular source type
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="sourceType">The source type</param>
            <returns>True if this can convert from the source type to a <see cref="T:System.DateTime"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeDoubleStringConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
             Whether this type converter can convert from a <see cref="T:System.DateTime"/> to the destination type
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="destinationType">The destination type</param>
            <returns>True if this can convert from DateTime to string</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeDoubleStringConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
             Converts from a string representation to a <see cref="T:System.DateTime"/>.
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="culture">The culture to use</param>
            <param name="value">The value to convert</param>
            <returns>A DateTime</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DateTimeDoubleStringConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
             Converts from a <see cref="T:System.DateTime"/> to the destination type
            </summary>
            <param name="context">The type descriptor context</param>
            <param name="culture">The culture to use during conversion</param>
            <param name="value">The value to convert</param>
            <param name="destinationType">The destination type to convert to</param>
            <returns>The converted <paramref name="value"/>, e.g. a string representation of the <see cref="T:System.DateTime"/>.</returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.DaysOfWeekConverter">
            <summary>
            Converts a string containing space separated days of the week into a collection of DaysOfWeek enumeration values.
            For example, the string "Saturday Sunday" is converted to the collection containing those two enumeration values.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DaysOfWeekConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DaysOfWeekConverter.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DaysOfWeekConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.DaysOfWeekConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.Primitives.IdentityValueConverter">
            <summary>
            A value converter that simply forwards the passed value without performing any conversion.
            </summary>
            <remarks>
            Used to fixed a WPF binding bug.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.Primitives.IdentityValueConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Returns the passed <paramref name="value"/> without further conversion.
            </summary>
            <param name="value"></param>
            <param name="targetType"></param>
            <param name="parameter"></param>
            <param name="culture"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.IdentityValueConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Returns the passed <paramref name="value"/> without further conversion.
            </summary>
            <param name="value"></param>
            <param name="targetType"></param>
            <param name="parameter"></param>
            <param name="culture"></param>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.InvalidatableCollectionBase`1">
            <summary>
            An observable collection with the notion of a shadowed collection and invalidation. 
            Does not allow duplicate object references or null values.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="T:Visiblox.Charts.Primitives.UniqueAndNotNullShadowedObservableCollection`1">
            <summary>
            An observable collection that doesn't allow duplicate or null values to be stored.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.UniqueAndNotNullShadowedObservableCollection`1.ShadowedCollection">
            <summary>
            Shadowed collection of items. Stored to enable correct handling of clear event (the old items aren't 
                passed on when ObservableCollection is cleared).
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.UniqueAndNotNullShadowedObservableCollection`1.InsertItem(System.Int32,`0)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.UniqueAndNotNullShadowedObservableCollection`1.RemoveItem(System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.UniqueAndNotNullShadowedObservableCollection`1.SetItem(System.Int32,`0)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.UniqueAndNotNullShadowedObservableCollection`1.ClearItems">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidatableCollectionBase`1.DoInvalidate">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidatableCollectionBase`1.Invalidate">
            <inheritdoc />
        </member>
        <member name="T:Visiblox.Charts.Primitives.InvalidationHandler">
            <summary>
            This class deals with the invalidations of <see cref="T:Visiblox.Charts.Primitives.IInvalidatable"/> objects and the enqueuing/dequeuing of invalidation requests
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.InvalidationHandler.INVALIDATION_TYPE_ORDER">
            <summary>
            This array defines the precedence order in which invalidates are to be fired based on the IInvalidatable's type.  Object is assumed to be the
            fallback position
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.InvalidationHandler._currentInvalidationRequestsByType">
            <summary>
            The hashset of list invalidation requests for each type in the order they were requested.  This allows us to chain requests in the order that is most likely
            to result in the fewest repeated invalidations as defined by the ordering of <see cref="F:Visiblox.Charts.Primitives.InvalidationHandler.INVALIDATION_TYPE_ORDER"/>
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidationHandler.RequestInvalidation(Visiblox.Charts.Primitives.IInvalidatable)">
            <summary>
            Request the invalidation of <paramref name="requester"/> at the next convenient time.
            </summary>
            <param name="requester">The object to be invalidated</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidationHandler.CancelInvalidationRequest(Visiblox.Charts.Primitives.IInvalidatable)">
            <summary>
            Cancel the invalidation request of <paramref name="toCancel"/>.
            </summary>
            <param name="toCancel">The object to have its invalidation request cancelled.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidationHandler.GetKeyTypeForIInvalidatable(Visiblox.Charts.Primitives.IInvalidatable)">
            <summary>
            Determines for any given IInvalidatable object the type against which to store the request for the purpose of 
            determining it's precedence
            </summary>
            <param name="requester">The IInvalidatable making the request</param>
            <returns>The type against which the list of requests is to be stored in _currentInvalidationRequestsByType</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidationHandler.DoInvalidations">
            <summary>
            Force the invalidation of all outstanding requests
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidationHandler.GetNextTypeToInvalidate">
            <summary>
            Find the next type for which there is a request pending, in the precedence order
            </summary>
            <returns>The type or null if there are no pending requests</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidationHandler.#cctor">
            <summary>
            Static initialiser which attached a composition target rendering event to handle the invalidations
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.InvalidationHandler.InvokeInvalidation(System.Object,System.EventArgs)">
            <summary>
            Composition target rendering event handler
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="P:Visiblox.Charts.Primitives.InvalidationHandler.InvalidationsSuspended">
            <summary>
            Determines whether invalidations are suspended.  If set to true, no invalidations will occur until it is set to false again, at which point
            the invalidations will resume and happen at the next opporunity
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.InvalidationHandler.ForceImmediateInvalidate">
            <summary>
            If set to true invalidations will be executed immediately rather than being enqueued for later execution
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.LayoutCycleDetector">
            <summary>
            Class to stop layout cycles occurring on a size change by reviewing a list of previous sizes.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LayoutCycleDetector.IsSizeChangingLayoutCycle(System.Windows.Size)">
            <summary>
            Determines if there is a size changing layout cycle happening
            </summary>
            <param name="newSize">The latest size</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LayoutCycleDetector.GetSizesFromValues">
            <summary>
            Gets a list of Sizes from the list of values
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LayoutCycleDetector.RemoveOldValues">
            <summary>
            Removes the values from <see cref="F:Visiblox.Charts.Primitives.LayoutCycleDetector._previousValues"/> that are older than 300ms
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LayoutCycleDetector.IsRepeatedCycle(System.Collections.Generic.List{System.Windows.Size})">
            <summary>
            Returns whether there's a repeated cycle in the collection
            (e.g. 1, 2, 1, 2 or 1, 2, 3, 1, 2, 3)
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LayoutCycleDetector.IsRepeatedCycle(System.Collections.Generic.List{System.Windows.Size},System.Int32)">
            <summary>
            Returns whether there's a repeated cycle in the collection
            (e.g. 1, 2, 1, 2 or 1, 2, 3, 1, 2, 3)
            </summary>
            <param name="sizes"></param>
            <param name="cycleSize"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LayoutCycleDetector.AreValuesConstantlyConverging(System.Collections.Generic.List{System.Windows.Size})">
            <summary>
            Checks whether values are constantly converging in one direction, e.g. 
            </summary>
            <param name="sizes"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LayoutCycleDetector.AreValuesConstantlyConvergingInRepeatedCycle(System.Collections.Generic.List{System.Windows.Size})">
            <summary>
            Checks whether there are cycled convergences, e.g.
             1, 10, 2, 11, 3, 12, 4, 13
            </summary>
            <param name="sizes"></param>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2">
            <summary>
            Implements a left-leaning red-black tree.
            </summary>
            <remarks>
            Based on the research paper "Left-leaning Red-Black Trees"
            by Robert Sedgewick. More information available at:
            http://www.cs.princeton.edu/~rs/talks/LLRB/RedBlack.pdf
            http://www.cs.princeton.edu/~rs/talks/LLRB/08Penn.pdf
            </remarks>
            <typeparam name="TKey">Type of keys.</typeparam>
            <typeparam name="TValue">Type of values.</typeparam>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2._keyComparison">
            <summary>
            Stores the key comparison function.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2._valueComparison">
            <summary>
            Stores the value comparison function.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2._rootNode">
            <summary>
            Stores the root node of the tree.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.#ctor(System.Comparison{`0},System.Comparison{`1})">
            <summary>
            Initializes a new instance of the LeftLeaningRedBlackTree class implementing an ordered multi-dictionary.
            </summary>
            <param name="keyComparison">The key comparison function.</param>
            <param name="valueComparison">The value comparison function.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Add(`0,`1)">
            <summary>
            Adds a key/value pair to the tree.
            </summary>
            <param name="key">Key to add.</param>
            <param name="value">Value to add.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Remove(`0)">
            <summary>
            Removes a key (and its associated value) from a normal (non-multi) dictionary.
            </summary>
            <param name="key">Key to remove.</param>
            <returns>True if key present and removed.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Remove(`0,`1)">
            <summary>
            Removes a key/value pair from the tree.
            </summary>
            <param name="key">Key to remove.</param>
            <param name="value">Value to remove.</param>
            <returns>True if key/value present and removed.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Clear">
            <summary>
            Removes all nodes in the tree.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetKeys">
            <summary>
            Gets a sorted list of keys in the tree.
            </summary>
            <returns>Sorted list of keys.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetNearestKey(`0)">
            <summary>
            Get the "nearest" key to <paramref name="key"/> which is actually included in the data structure. Might 
            be before or after <paramref name="key"/> (and is essentially random between those two).
            </summary>
            <param name="key">Key to search for</param>
            <returns>A key near to <paramref name="key"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetItemsOfValue(`0)">
            <summary>
            Gets a sequence of the values associated with the specified key.
            </summary>
            <param name="key">Specified key.</param>
            <returns>Sequence of values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetValuesAfterKey(`0)">
            <summary>
            Gets a sequence of all the values in the tree subsequent to the given key.
            </summary>
            <returns>Sequence of all values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetItemsAfterValueInclusive(`0)">
            <summary>
            Gets a sequence of all the values in the tree subsequent to the given key, including the key itself.
            </summary>
            <returns>Sequence of all values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetItemsBeforeValue(`0)">
            <summary>
            Gets a sequence of all the values in the tree prior to the given key.
            </summary>
            <returns>Sequence of all values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetValuesForAllKeys">
            <summary>
            Gets a sequence of all the values in the tree.
            </summary>
            <returns>Sequence of all values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.IsRed(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Returns true if the specified node is red.
            </summary>
            <param name="node">Specified node.</param>
            <returns>True if specified node is red.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Add(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,`0,`1)">
            <summary>
            Adds the specified key/value pair below the specified root node.
            </summary>
            <param name="node">Specified node.</param>
            <param name="key">Key to add.</param>
            <param name="value">Value to add.</param>
            <returns>New root node.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Remove(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,`0,`1)">
            <summary>
            Removes the specified key/value pair from below the specified node.
            </summary>
            <param name="node">Specified node.</param>
            <param name="key">Key to remove.</param>
            <param name="value">Value to remove.</param>
            <returns>True if key/value present and removed.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.FlipColor(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Flip the colors of the specified node and its direct children.
            </summary>
            <param name="node">Specified node.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.RotateLeft(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Rotate the specified node "left".
            </summary>
            <param name="node">Specified node.</param>
            <returns>New root node.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.RotateRight(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Rotate the specified node "right".
            </summary>
            <param name="node">Specified node.</param>
            <returns>New root node.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.MoveRedLeft(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Moves a red node from the right child to the left child.
            </summary>
            <param name="node">Parent node.</param>
            <returns>New root node.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.MoveRedRight(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Moves a red node from the left child to the right child.
            </summary>
            <param name="node">Parent node.</param>
            <returns>New root node.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.DeleteMinimum(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Deletes the minimum node under the specified node.
            </summary>
            <param name="node">Specified node.</param>
            <returns>New root node.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.FixUp(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node)">
            <summary>
            Maintains invariants by adjusting the specified nodes children.
            </summary>
            <param name="node">Specified node.</param>
            <returns>New root node.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetNodeForKey(`0)">
            <summary>
            Gets the (first) node corresponding to the specified key.
            </summary>
            <param name="key">Key to search for.</param>
            <returns>Corresponding node or null if none found.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.GetExtreme``1(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,System.Func{Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node},System.Func{Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,``0})">
            <summary>
            Gets an extreme (ex: minimum/maximum) value.
            </summary>
            <typeparam name="T">Type of value.</typeparam>
            <param name="node">Node to start from.</param>
            <param name="successor">Successor function.</param>
            <param name="selector">Selector function.</param>
            <returns>Extreme value.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Traverse``1(Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,System.Func{Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,System.Boolean},System.Func{Visiblox.Charts.Primitives.LeftLeaningRedBlackTree{`0,`1}.Node,``0})">
            <summary>
            Traverses a subset of the sequence of nodes in order and selects the specified nodes.
            </summary>
            <typeparam name="T">Type of elements.</typeparam>
            <param name="node">Starting node.</param>
            <param name="condition">Condition method.</param>
            <param name="selector">Selector method.</param>
            <returns>Sequence of selected nodes.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.KeyAndValueComparison(`0,`1,`0,`1)">
            <summary>
            Compares the specified keys (primary) and values (secondary).
            </summary>
            <param name="leftKey">The left key.</param>
            <param name="leftValue">The left value.</param>
            <param name="rightKey">The right key.</param>
            <param name="rightValue">The right value.</param>
            <returns>CompareTo-style results: -1 if left is less, 0 if equal, and 1 if greater than right.</returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.IsMultiDictionary">
            <summary>
            Gets a value indicating whether the tree is acting as an ordered multi-dictionary.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Count">
            <summary>
            Gets the count of key/value pairs in the tree.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.MinimumKey">
            <summary>
            Gets the minimum key in the tree.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.MaximumKey">
            <summary>
            Gets the maximum key in the tree.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Node">
            <summary>
            Represents a node of the tree.
            </summary>
            <remarks>
            Using fields instead of properties drops execution time by about 40%.
            </remarks>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Node.Key">
            <summary>
            Gets or sets the node's key.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Node.Value">
            <summary>
            Gets or sets the node's value.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Node.Left">
            <summary>
            Gets or sets the left node.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Node.Right">
            <summary>
            Gets or sets the right node.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Node.IsBlack">
            <summary>
            Gets or sets the color of the node.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.LeftLeaningRedBlackTree`2.Node.Siblings">
            <summary>
            Gets or sets the number of "siblings" (nodes with the same key/value).
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.LRUDictionary`2">
            <summary>
            Implementation of Least Recently Used dictionary.
            Note: this class has not been designed to be thread safe.
            The LRUDictionary does not support adding null keys.
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.#ctor(System.Int32)">
            <summary>
            Initialises a LRU Dictionary with the given maximum capacity.
            </summary>
            <param name="MaxSize"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.#ctor">
            <summary>
            Initialises a LRU Dictionary with the default maximum capacity.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.TrimToSize(System.Boolean)">
            <summary>
            Ensure the number of elements doesn't exceed the capacity.
            </summary>
            <param name="adding">Whether we're adding a new element.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.Add(`0,`1)">
            <summary>
            Adds the given key and value.
            </summary>
            <param name="key"></param>
            <param name="value"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.RemoveLeastRecentlyUsed">
            <summary>
            Removes a least recently used entry from the cache.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.ContainsKey(`0)">
            <summary>
            Gets whether the dictionary contains the given key.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.Clear">
            <summary>
            Clears the collection
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.Remove(`0)">
            <summary>
            Removes element with given key.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.TryGetValue(`0,`1@)">
            <summary>
            Attempts to get the value of the given key.
            </summary>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Adds a key value pair.
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Returns whether the dictionary contains the key value pair.
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            Copies to an array.
            </summary>
            <param name="array"></param>
            <param name="arrayIndex"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Removes key value pair.
            </summary>
            <param name="item"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.GetEnumerator">
            <summary>
            Returns enumerator.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.LRUDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LRUDictionary`2.Capacity">
            <summary>
            The maximum number of elements to store in the dictionary.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LRUDictionary`2.Item(`0)">
            <summary>
            Gets value at given index.
            </summary>
            <param name="key"></param>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LRUDictionary`2.Count">
            <summary>
            Number of elements.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LRUDictionary`2.Keys">
            <summary>
            Collection of keys.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LRUDictionary`2.Values">
            <summary>
            List of values.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.LRUDictionary`2.IsReadOnly">
            <summary>
            Whether or not is read only.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.MouseClickAdapter">
            <summary>
            An Adapter for handling mouse events, particularly double clicks.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.MouseClickAdapter.#ctor(System.Windows.UIElement,System.Windows.Input.MouseButtonEventHandler,System.Windows.Input.MouseButtonEventHandler,System.Windows.Input.MouseEventHandler,System.Boolean,System.Windows.Input.MouseWheelEventHandler)">
            <summary>
            Creates a MouseClickAdapter.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.NullableConverter`1">
            <summary>
            Converts a string or base value to a <see cref="T:System.Nullable"/> value.
            </summary>
            <typeparam name="T">The type should be value type.</typeparam>
            <QualityBand>Preview</QualityBand>
        </member>
        <member name="M:Visiblox.Charts.Primitives.NullableConverter`1.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether the type converter can convert an object from the 
            specified type to the type of this converter.
            </summary>
            <param name="context">An object that provides a format context.
            </param>
            <param name="sourceType">The type you want to convert from.</param>
            <returns>
            Returns true if this converter can perform the conversion; 
            otherwise, false.
            </returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.NullableConverter`1.CanConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <summary>
            Returns whether the type converter can convert an object from the 
            specified type to the type of this converter.
            </summary>
            <param name="context">An object that provides a format context.
            </param>
            <param name="destinationType">The type you want to convert to.
            </param>
            <returns>
            Returns true if this converter can perform the conversion; 
            otherwise, false.
            </returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.NullableConverter`1.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <summary>
            Converts from the specified value to the type of this converter.
            </summary>
            <param name="context">An object that provides a format context.
            </param>
            <param name="culture">The 
            <see cref="T:System.Globalization.CultureInfo"/> to use as the 
            current culture.</param>
            <param name="value">The value to convert to the type of this 
            converter.</param>
            <returns>The converted value.</returns>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="M:Visiblox.Charts.Primitives.NullableConverter`1.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
            <summary>
            Converts from the specified value to the a specified type from the
            type of this converter.
            </summary>
            <param name="context">An object that provides a format context.
            </param>
            <param name="culture">The 
            <see cref="T:System.Globalization.CultureInfo"/> to use as the 
            current culture.</param>
            <param name="value">The value to convert to the type of this 
            converter.</param>
            <param name="destinationType">The type of convert the value to
            .</param>
            <returns>The converted value.</returns>
            <exception cref="T:System.NotSupportedException">
            The conversion cannot be performed.
            </exception>
        </member>
        <member name="T:Visiblox.Charts.Primitives.ObservableListAdapter">
            <summary>
            Wraps an <see cref="T:System.Collections.IList"/>, implementing <see cref="T:System.Collections.Specialized.INotifyCollectionChanged"/>,
            and providing property changed notifications for modifications that occur through this wrapper.
            </summary>
            <remarks>
            <para>An ObservableListAdapter can be used when an existing collection has to be used, but collection
            changed notifications are desired. Note that these notifications are only provided for alterations that
            occur via the adapter: direct modifications to the underlying collection will not be reported.</para>
            <para>In situations where there is no pre-existing collection, see <see cref="T:System.Collections.ObjectModel.ObservableCollection`1"/>.</para>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.#ctor(System.Collections.IList)">
            <summary>
            Construct a wrapper
            </summary>
            <param name="adaptee"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.GetEnumerator">
            <summary>
            Returns an enumerator of the underlying collection
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.RemoveAt(System.Int32)">
            <summary>
            Removes an item from an index of the underlying collection
            </summary>
            <param name="index"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.Add(System.Object)">
            <summary>
            Add item to the underlying collection
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.Clear">
            <summary>
            Clears the underlying collection
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.Contains(System.Object)">
            <summary>
            Returns whether the item is contained in the underlying collection
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the underlying collection into an array
            </summary>
            <param name="array"></param>
            <param name="index"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.IndexOf(System.Object)">
            <summary>
            Returns the index of an element in the underlying collection
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.Insert(System.Int32,System.Object)">
            <summary>
            Inserts an element into the underlying collection
            </summary>
            <param name="index"></param>
            <param name="value"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.Remove(System.Object)">
            <summary>
            Removes an item from the underlying collection
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction)">
            <summary>
            Invoked to issue a collection changed action when action is NotifyCollectionChangedAction.Reset
            </summary>
            <param name="action">Has to be NotifyCollectionChangedAction.Reset</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32)">
            <summary>
            Invoked to issue a collection changed action when action is NotifyCollectionChangedAction.Replace
            </summary>
            <param name="action">Has to be NotifyCollectionChangedAction.Replace</param>
            <param name="newItem"></param>
            <param name="oldItem"></param>
            <param name="index"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ObservableListAdapter.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32)">
            <summary>
            Invoked to issue a collection changed action when action is NotifyCollectionChangedAction.Add or NotifyCollectionChangedAction.Remove
            </summary>
            <param name="action">Has to be NotifyCollectionChangedAction.Add or NotifyCollectionChangedAction.Remove</param>
            <param name="item">The item in question</param>
            <param name="index">The index of the item</param>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ObservableListAdapter.IsSynchronized">
            <summary>
            Whether the underlying collection is synchronised.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ObservableListAdapter.SyncRoot">
            <summary>
            The synchronisation root (same as the underlying collection).
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ObservableListAdapter.IsFixedSize">
            <summary>
            Whether the underlying collection has a fixed size.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ObservableListAdapter.Count">
            <summary>
            The number of elements in the underlying collection.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ObservableListAdapter.IsReadOnly">
            <summary>
            Whether the underlying collection is read only.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ObservableListAdapter.Item(System.Int32)">
            <summary>
            Indexes the underlying collection
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="E:Visiblox.Charts.Primitives.ObservableListAdapter.CollectionChanged">
            <summary>
            Implementation for INotifyCollectionChanged
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.PixelSnapper">
            <summary>
            A utility class that is responsible for pixel snapping UI elements.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.PixelSnapper.HalfPixelOffset">
            <summary>
            Used to shift one-pixel lines onto half-pixel boundaries to prevent anti-aliasing effects.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.PixelSnapper.SnapTickMark(System.Windows.Shapes.Line,System.Windows.Controls.Orientation)">
            <summary>
            Pixel Snap a tick mark according to its Orientation.
            </summary>
            <param name="line">The tick mark to pixel snap.</param>
            <param name="orientation">The orientation of the tick mark.</param>
            <returns>The snapped tick mark.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.PixelSnapper.SnapGridLine(System.Windows.Shapes.Line,System.Windows.Controls.Orientation)">
            <summary>
            Pixel Snap a gridline according to its Orientation.
            </summary>
            <param name="line">The gridline to pixel snap.</param>
            <param name="orientation">The orientation of the gridline.</param>
            <returns>The snapped gridline.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.PixelSnapper.SnapAxisLine(System.Windows.Shapes.Line,System.Windows.Controls.Orientation)">
            <summary>
            Pixel Snap a axis line according to its Orientation.
            </summary>
            <param name="line">The axis line to pixel snap.</param>
            <param name="orientation">The orientation of the axis line.</param>
            <returns>The snapped axis line.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.PixelSnapper.SnapPoint(System.Windows.Point)">
            <summary>
            Pixel Snap a Point.
            </summary>
            <param name="point">The point to pixel snap.</param>
            <returns>The snapped point.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.PixelSnapper.SnapLine(System.Windows.Shapes.Line)">
            <summary>
            Pixel Snap a Line.
            </summary>
            <param name="line">The line to pixel snap.</param>
            <returns>The snapped line.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.PixelSnapper.SnapValue(System.Double)">
            <summary>
            Pixel Snap a value.
            </summary>
            <param name="d">The value to pixel snap.</param>
            <returns>The snapped value.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.PixelSnapper.SnapValueAndClampAboveZero(System.Double)">
            <summary>
            Pixel Snap a value, clamping the returned value to 0 such that it is non-negative.
            </summary>
            <param name="d">The value to pixel snap.</param>
            <returns>The snapped value.</returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.ReferenceEqualityComparer`1">
            <summary>
            Equality comparer comparing objects of type <typeparamref name="T"/> by reference, and using their own hash code implementation.
            </summary>
            <typeparam name="T">Type of objects to be compared.</typeparam>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ReferenceEqualityComparer`1.Equals(`0,`0)">
            <summary>
            Compare <paramref name="x"/> and <paramref name="y"/> for equality, by reference.
            </summary>
            <param name="x">First object.</param>
            <param name="y">Second object.</param>
            <returns>Whether <paramref name="x"/> and <paramref name="y"/> are reference-equal.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ReferenceEqualityComparer`1.GetHashCode(`0)">
            <summary>
            Get a hashcode for <paramref name="x"/> using its own hash code implementation.
            </summary>
            <param name="x">Object to get hash code for.</param>
            <returns>Hash code.</returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.RenderPointAdapter">
            <summary>
            Adapts an <see cref="T:Visiblox.Charts.IDataPoint"/> to display coordinates based on the axes of a given series, 
            including the possibility of multiple Y values.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.RenderPointAdapter.#ctor(Visiblox.Charts.IDataPoint,Visiblox.Charts.IChartSeries)">
            <summary>
            Constructor
            </summary>
            <param name="dataPoint">Data point to adapt</param>
            <param name="series">Series to use to get axes for conversion</param>
        </member>
        <member name="P:Visiblox.Charts.Primitives.RenderPointAdapter.Model">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.Primitives.RenderPointAdapter.X">
            <summary>
            X render coordinate
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.RenderPointAdapter.Y">
            <summary>
            Y render coordinate
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.RenderPointAdapter.Item(System.Object)">
            <summary>
            Indexer for multiple Y values in render coordinates
            </summary>
            <param name="indexer">Indexer</param>
            <returns>Render coordinate for given Y value</returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.RenderPointAdapter.YValueMaximum">
            <summary>
            Gets the maximum of the Y values
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.RenderPointAdapter.YValueMinimum">
            <summary>
            Gets the minimm of the Y values
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.SortableObservableCollection`1">
            <summary>
            Extends ObservableCollection with the SortAscending and SortDescending methods.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortableObservableCollection`1.SortAscending">
            <summary>
            Sorts members of the collection and triggers the CollectionChanged event if the order of items is changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortableObservableCollection`1.SortDescending">
            <summary>
            Sorts members of the collection and triggers the CollectionChanged event if the order of items is changed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortableObservableCollection`1.Clone(System.Collections.Generic.IList{`0})">
            <summary>
            Performa a shallow clone on a generic list
            </summary>
            <param name="listToClone"></param>
            <returns></returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.SortedList`1">
            <summary>
            A list of data points, sorted by value according to a supplied comparison method
            </summary>
            <typeparam name="T">The type of the list item</typeparam>
        </member>
        <member name="F:Visiblox.Charts.Primitives.SortedList`1._list">
            <summary>
            The underlying list implementation
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.SortedList`1._comparison">
            <summary>
            Stores the key comparison function.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.SortedList`1._sortPending">
            <summary>
            Performance scam - only re-sort is someone is looking at you
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.#ctor(System.Comparison{`0})">
            <summary>
            Constructor
            </summary>
            <param name="comparison">The comparison function</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.Add(`0)">
            <summary>
            Adds an entry to the list and resorts it
            </summary>
            <remarks>Use this method in a loop IF your data is already sorted (performance)</remarks>
            <param name="item"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a collection of items and resorts the whole list
            </summary>
            <remarks>Uuse this method if your data is unsorted (performance)</remarks>
            <param name="collection">A collection of data items</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.GetItemsOfValue(`0)">
            <summary>
            Gets a sequence of all the items in the list with value equal to the given value, in ascending order.
            </summary>
            <returns>Sequence of all values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.GetItemsAfterValueInclusive(`0)">
            <summary>
            Gets a sequence of all the items in the list with value greater than or equal to the given value, in ascending order.
            </summary>
            <returns>Sequence of all values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.GetItemsBeforeValue(`0)">
            <summary>
            Gets a sequence of all the items in the list with value less than the given value, in descending order.
            </summary>
            <returns>Sequence of all values.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.Remove(`0)">
            <summary>
            Remove an item from the list
            </summary>
            <param name="item">The item to remove</param>
            <remarks>The item must actually be in the list - not just identical by value to an item in the list</remarks>
            <returns>True if the item was removed</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.Contains(`0)">
            <summary>
            Determines whether an item is in the list
            </summary>
            <param name="item">The item to check</param>
            <remarks>The item must actually be in the list - not just identical by value to an item in the list</remarks>
            <returns>True if the item exists in the list</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.GetEnumerator">
            <summary>
            Gets an enumerator for the entire list
            </summary>
            <returns>An enumerator for the entire list</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator for the entire list
            </summary>
            <returns>An enumerator for the entire list</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.Clear">
            <summary>
            Removes all items from the list
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedList`1.Sort">
            <summary>
            Signals that the list contents have changed such that resort is required
            </summary>
            <remarks>Note that this method does not sort the list immediately. It's deferred until anyone actually calls public API that gets data from the list</remarks>
        </member>
        <member name="P:Visiblox.Charts.Primitives.SortedList`1.Count">
            <summary>
            The number of items in the list
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.SortedList`1.Item(System.Int32)">
            <summary>
            Accessor to the item in the index position.
            </summary>
            <param name="index">Index into the sorted list.</param>
            <returns>Item at the index position</returns>
        </member>
        <member name="T:Visiblox.Charts.Primitives.SortedListOfObservables`1">
            <summary>
            A list of changeable data points, sorted by value according to a supplied comparison method
            </summary>
            <typeparam name="T">The type of the list item</typeparam>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedListOfObservables`1.#ctor(System.Comparison{`0})">
            <summary>
            Constructor
            </summary>
            <param name="comparison">The comparison function</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedListOfObservables`1.Add(`0)">
            <summary>
            Adds an entry to the list and resorts it
            </summary>
            <remarks>Use this method in a loop IF your data is already sorted (performance)</remarks>
            <param name="item"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedListOfObservables`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a collection of items and resorts the whole list
            </summary>
            <remarks>Uuse this method if your data is unsorted (performance)</remarks>
            <param name="collection">A collection of data items</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.SortedListOfObservables`1.Clear">
            <summary>
            Removes all items from the list
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.StringToChartSeriesProviderConverter">
            <summary>
            A type converter that converts a string into an <see cref="T:Visiblox.Charts.IChartSeriesProvider"/>. For example "LineSeries" is converted into a
            <see cref="T:Visiblox.Charts.DefaultChartSeriesProvider"/> which always returns <see cref="T:Visiblox.Charts.LineSeries"/> instances
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StringToChartSeriesProviderConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.Primitives.StringToChartSeriesProviderConverter.CanConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Type)">
            <inheritdoc />
        </member>
        <member name="T:Visiblox.Charts.Primitives.StringToSolidColorBrushConverter">
            <summary>
            Converts string to <see cref="T:System.Windows.Media.SolidColorBrush"/>. 
            If a <see cref="T:System.Windows.Media.Brush"/> is passed, it does no conversion, just returns it.
            </summary>
            <remarks>
            The conversion only works from string to <see cref="T:System.Windows.Media.SolidColorBrush"/>., not the other way round.
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StringToSolidColorBrushConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Converts string to <see cref="T:System.Windows.Media.SolidColorBrush"/>
            </summary>
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StringToSolidColorBrushConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            See <see cref="T:System.Windows.Data.IValueConverter"/>, not implemented.
            </summary>
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.Primitives.StyleManager">
            <summary>
            Style Manager for resolving of styles for caching
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StyleManager.#ctor(System.Windows.DependencyObject)">
            <summary>
            Create new style manager for the given dependency object
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StyleManager.CreateShapeStyle(System.Windows.Style,System.Windows.Media.Brush,System.Windows.Media.Brush,System.Double)">
            <summary>
            Creates a style for a Shape type using the passed arguments.
            </summary>
            <param name="style">Style of the point. If null, it will not be applied.</param>
            <param name="fill">Fill of the point. If null, it will not be applied.</param>
            <param name="stroke">Stroke of the point. If null, it will not be applied.</param>
            <param name="strokeThickness">">Stroke thickness of the point. If null, it will not be applied.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StyleManager.ConvertValueToBrush(System.Object)">
            <summary>
            Helper method which converts the value passed to a brush using <see cref="T:Visiblox.Charts.Primitives.StringToSolidColorBrushConverter"/>
            </summary>
            <param name="value">Value to convert to a brush via the converter.</param>
            <returns>A <see cref="T:System.Windows.Media.SolidColorBrush"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StyleManager.ResolvePropertyValue``1(System.Windows.Style,System.Windows.DependencyProperty)">
            <summary>
            Resolve the appropriate property value for the specified <paramref name="property"/> on this series, considering
            any explicitly set property value as top precedence, followed by a setter in the given <paramref name="style"/>
            (generally highlighted or selected style), and last the normal computed value of <paramref name="property"/> on this series
            (ie a styled value).
            </summary>
            <typeparam name="T">Type of the property.</typeparam>
            <param name="style">Style whose setters are checked for a property matching <paramref name="property"/>.</param>
            <param name="property">Property to resolve the value for.</param>
            <returns>Resolved value as described.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StyleManager.ResolvePropertyValue``1(System.Windows.Style,System.Windows.DependencyProperty,System.Func{System.Object,``0})">
            <summary>
            Resolve the appropriate property value for the specified <paramref name="property"/> on this series, considering
            any explicitly set property value as top precedence, followed by a setter in the given <paramref name="style"/>
            (generally highlighted or selected style), and last the normal computed value of <paramref name="property"/> on this series
            (ie a styled value).
            </summary>
            <typeparam name="T">Type of the property.</typeparam>
            <param name="style">Style whose setters are checked for a property matching <paramref name="property"/>.</param>
            <param name="property">Property to resolve the value for.</param>
            <param name="setterConverter">Function to use to convert a setter value to a resolved value of type <typeparamref name="T"/>.</param>
            <returns>Resolved value as described.</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.StyleManager.GetSetterValue(System.Windows.Style,System.Windows.DependencyProperty)">
            <summary>
            Returns the value for the setter within the <paramref name="style"/> 
                that's Property is set to <paramref name="dp"/>
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.TimeStampedObject`1">
            <summary>
            Implements a wrapper for an object with a timestamp.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TimeStampedObject`1.Touch">
            <summary>
            Updates the timestamp on this key to the current time.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TimeStampedObject`1.Equals(System.Object)">
            <summary>
            Defers to the stored object's Equals method.
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TimeStampedObject`1.GetHashCode">
            <summary>
            Defers to the stored object's GetHashCode method.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.TimeStampedObject`1.Object">
            <summary>
            The object to store the timestamp for.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.TimeStampedObject`1.TimeStamp">
            <summary>
            The timestamp of this object.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.TransposePanel">
            <summary>
            This panel will transpose its children's width / height measurements if its
            <see cref="P:Visiblox.Charts.Primitives.TransposePanel.Rotate"/> property is set to true.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.TransposePanel.RotateProperty">
            <summary>
            Identifies the Rotate Dependency Property.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TransposePanel.MeasureOverride(System.Windows.Size)">
            <summary>
             Returns the maximum size of any of the children, given an available size
            </summary>
            <param name="availableSize">The available size</param>
            <returns>The maximum child size</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TransposePanel.GetChildren(System.Windows.Controls.Panel)">
            <summary>
            Returns the children of a panel as a typed IEnumerable. NOTE: circumnavigates the
            issue that the Silverlight UIElementCollection is a generic list, whereas the same type
            in WPF is not.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TransposePanel.MaxOrDefault``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Double},System.Double)">
            <summary>
            See IEnumerable.MaxOrDefault in WPF BCL.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TransposePanel.ArrangeOverride(System.Windows.Size)">
            <summary>
             Given a final size, this will arrange the child elements to fit.
            </summary>
            <param name="finalSize">The final size</param>
            <returns>The final size parameter</returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.TransposePanel.Rotate">
            <summary>
            Indicates whether the panel should transpose the
            widths / height of its child elements
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.TwoWayDictionary`2">
            <summary>
            A class for storing bi-directional links between two objects.
            </summary>
            <remarks>
            The class ensures that two-way association between the linked objects are constantly maintained. In the case that one of the objects
            has altered in such a way that its hash code has changed, <see cref="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.RebuildDictionary"/> should be called before further operations
            are carried out.
            </remarks>
            <typeparam name="T1">Type of the 1st elements</typeparam>
            <typeparam name="T2">Type of the 2nd elements</typeparam>
        </member>
        <member name="F:Visiblox.Charts.Primitives.TwoWayDictionary`2._dictionaryT1toT2">
            <summary>
            Internal lookup dictionary for items of T2 objects, indexed by T1 FrameworkElements.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.TwoWayDictionary`2._dictionaryT2toT1">
            <summary>
            Internal lookup dictionary for items  of T1 FrameworkElements, indexed by T2 objects
            </summary>
        </member>
        <member name="F:Visiblox.Charts.Primitives.TwoWayDictionary`2._listT1toT2">
            <summary>
            List to refresh the dictionaries from if an object should change its hashcode
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.#ctor(System.Collections.Generic.IEqualityComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
            <summary>
            Constructor taking equality comparers to use for both constituent dictionaries.
            </summary>
            <param name="comparer1">Comparer for <typeparamref name="T1"/>.</param>
            <param name="comparer2">Comparer for <typeparamref name="T2"/>.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.AddItem(`0,`1)">
            <summary>
            Add these items to both dictionaries
            </summary>
            <param name="value1">Value 1</param>
            <param name="value2">Value 2</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.RetrieveItem(`0)">
            <summary>
            Retrieve the item with the provided key 
            </summary>
            <param name="key">Item to retrieve.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.RebuildDictionary">
            <summary>
            Rebuilds the dictionaries. Call this after a change to an element's hash code in order to maintain correct operation of the dictionary.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.RetrieveItem(`1)">
            <summary>
            Retrieve the item with the provided key
            </summary>
            <param name="key">Item to retrieve.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.GetEnumerator">
            <summary>
            Enumerator over the key-value pairs of this TwoWayDictionary.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Enumerator over the key-value pairs of this TwoWayDictionary.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.UpdateItems(`0,`1)">
            <summary>
            Sets <paramref name="obj1"/> linked to <paramref name="obj2"/> 
            and removes any previous linkings to other elements from both of them.
            </summary>
            <param name="obj1">Object to be linked with obj2</param>
            <param name="obj2">Object to be linked with obj1</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.RemoveItem(`0)">
            <summary>
            Removes the assocations for the item <paramref name="obj1"/>.
            </summary>
            <param name="obj1">Object to be removed.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.RemoveItem(`1)">
            <summary>
            Removes the assocations for the item <paramref name="obj2"/>.
            </summary>
            <param name="obj2">Object to be removed.</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.TwoWayDictionary`2.Clear">
            <summary>
            Clear both dictionaries.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.TwoWayDictionary`2.Item(`1)">
            <summary>
            Indexer.
            </summary>
            <param name="index">Value to lookup</param>
            <returns>Associated value</returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.TwoWayDictionary`2.Item(`0)">
            <summary>
            Indexer.
            </summary>
            <param name="index">Value to lookup</param>
            <returns>Associated value</returns>
        </member>
        <member name="P:Visiblox.Charts.Primitives.TwoWayDictionary`2.Values1">
            <summary>
            Enumerator over the 1st position values in this TwoWayDictionary.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.TwoWayDictionary`2.Values2">
            <summary>
            Enumerator over the 2nd position values in this TwoWayDictionary.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.Primitives.UIPointConverter">
            <summary>
            Converter to translate an <see cref="T:Visiblox.Charts.IDataPoint"/> containing display positional coordinates to a 
            <see cref="T:System.Windows.Point"/> based upon a specified Y-value index parameter.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.UIPointConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Convert a display-coordinate <see cref="T:Visiblox.Charts.IDataPoint"/> <paramref name="value"/> into a <see cref="T:System.Windows.Point"/> 
            based upon a specified Y-value index <paramref name="parameter"/>. 
            The returned point consists of the <paramref name="value"/> point's X value and the Y value indicated 
            by <paramref name="parameter"/>.
            </summary>
            <param name="value">An <see cref="T:Visiblox.Charts.IDataPoint"/> to be converted</param>
            <param name="targetType">The target type (should be <see cref="T:System.Windows.Point"/>)</param>
            <param name="parameter">Chosen y value key (or Y if null)</param>
            <param name="culture">Culture for the conversion (unused).</param>
            <returns>A Point representing the location of the data point within the plot area</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.UIPointConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            See <see cref="T:System.Windows.Data.IValueConverter"/>, not implemented.
            </summary>
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ComponentMetaData.CreateWatermark(System.Double)">
            <summary>
            Creates and returns a watermark with the given opacity
            </summary>
            <param name="_watermarkImageOpacity">Opacity to use in the watermark image</param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ComponentMetaData.AddWatermark(System.Windows.Controls.Grid,System.Windows.Controls.Image)">
            <summary>
            Adds the watermark to the free version of the charts
            </summary>
            <param name="_plotArea">The plot area where the watermark will be placed</param>
            <param name="_watermarkImage">Adds the given image</param>
        </member>
        <member name="M:Visiblox.Charts.Primitives.ComponentMetaData.CheckWatermark(System.Windows.Controls.Image,System.Double,System.Windows.Controls.Grid,System.Windows.Controls.Control,System.Boolean,System.Boolean)">
            <summary>
            Checks that the watermark is placed on the free version of the charts
            </summary>
            <param name="_watermarkImage">The watermark image to check</param>
            <param name="_watermarkImageOpacity">The opacity of the watermark image</param>
            <param name="_plotArea">The plot area where the watermark should be placed</param>
            <param name="_control">The control responsible for the chart</param>
            <param name="_templateApplied">Whether the template has been applied</param>
            <param name="_isRegularChart">Whether the chart is a regular chart, rather than a segment (pie) chart</param>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ComponentMetaData.IsPremium">
            <summary>
            Dictates whether Visiblox is running in premium mode
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ComponentMetaData.VisibloxAboutWindowLogo">
            <summary>
            The Visiblox logo used for the about window
            </summary>
        </member>
        <member name="P:Visiblox.Charts.Primitives.ComponentMetaData.VisibloxWatermarkLogo">
            <summary>
            The Visiblox log used for the watermark image
            </summary>
        </member>
        <member name="T:Visiblox.Charts.CategoryRangeWithEffectiveLimits">
            <summary>
            Represent a discrete range consisting of categories, bounded by a a <see cref="P:Visiblox.Charts.IRange.Maximum"/>, <see cref="P:Visiblox.Charts.IRange.Minimum"/>, 
            <see cref="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.EffectiveMaximum"/> and <see cref="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.EffectiveMinimum"/> value, categories defined
                by <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>.
            </summary>
            <remarks>
            <para>
            The purpose of this range is to serve as the list of categories on a <see cref="T:Visiblox.Charts.CategoryAxis"/>.
            </para>
            <para>
            <see cref="P:Visiblox.Charts.CategoryRange.Minimum"/> and <see cref="P:Visiblox.Charts.CategoryRange.Maximum"/> are defined here to be the index bounds of <see cref="P:Visiblox.Charts.CategoryRange.Categories"/> collection.
            <see cref="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.EffectiveMinimum"/> and <see cref="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.EffectiveMaximum"/> however are double values (as these values need to be selected 
            from a continous value range to fully support the zoom functionality). 
            <see cref="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.ToContinuousValueRange(System.IComparable)"/> and <see cref="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> does the conversion 
            between the discrete categories and the double values.
            </para>
            <para>
            The <see cref="P:Visiblox.Charts.CategoryRange.Maximum"/> and <see cref="P:Visiblox.Charts.CategoryRange.Minimum"/> are always the last or first members of the 
            <see cref="P:Visiblox.Charts.CategoryRange.Categories"/> collection. Setting them will therefore behave differently than in case of 
            continous ranges: if the value is not yet contained in<see cref="P:Visiblox.Charts.CategoryRange.Categories"/>, it will be added to 
            the first/last position appropriately, otherwise the value will not be added and 
            <see cref="P:Visiblox.Charts.CategoryRange.Maximum"/> / <see cref="P:Visiblox.Charts.CategoryRange.Minimum"/> will be left unchanged.
            </para>
            <para>
            Categories can have a sort order of unsorted, ascending or descending, using <see cref="T:Visiblox.Charts.SortOrder"/> 
            and based on the natural ordering of <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>’  IComparable members.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.CategoryAxis"/>
        </member>
        <member name="T:Visiblox.Charts.CategoryRange">
            <summary>
            Represent a discrete range consisting of categories, bounded by a <see cref="P:Visiblox.Charts.CategoryRange.Maximum"/> and <see cref="P:Visiblox.Charts.CategoryRange.Minimum"/>, categories defined
                by <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>.
            </summary>
            <remarks>
            <para>
            The purpose of this range is to serve as the list of categories on a <see cref="T:Visiblox.Charts.CategoryAxis"/>.
            </para>
            <para>
            <see cref="P:Visiblox.Charts.CategoryRange.Minimum"/> and <see cref="P:Visiblox.Charts.CategoryRange.Maximum"/> are defined here to be the index bounds of <see cref="P:Visiblox.Charts.CategoryRange.Categories"/> collection.
            </para>
            <para>
            The <see cref="P:Visiblox.Charts.CategoryRange.Maximum"/> and <see cref="P:Visiblox.Charts.CategoryRange.Minimum"/> are always the last or first members of the 
            <see cref="P:Visiblox.Charts.CategoryRange.Categories"/> collection. Setting them will therefore behave differently than in case of 
            continous ranges: if the value is not yet contained in<see cref="P:Visiblox.Charts.CategoryRange.Categories"/>, it will be added to 
            the first/last position appropriately, otherwise the value will not be added and 
            <see cref="P:Visiblox.Charts.CategoryRange.Maximum"/> / <see cref="P:Visiblox.Charts.CategoryRange.Minimum"/> will be left unchanged.
            </para>
            <para>
            Categories can have a sort order of unsorted, ascending or descending, using <see cref="P:Visiblox.Charts.CategoryRange.SortOrder"/> 
            and based on the natural ordering of <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>’  IComparable members.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.CategoryAxis"/>
        </member>
        <member name="T:Visiblox.Charts.IRange`1">
            <summary>
            Defines a range of values bounded by a <see cref="P:Visiblox.Charts.IRange`1.Minimum"/> and <see cref="P:Visiblox.Charts.IRange`1.Maximum"/> value.
            Defines a generic <see cref="T:Visiblox.Charts.IRange"/>.
            </summary>
            <remarks>This is a more strongly typed version of the non-generic <see cref="T:Visiblox.Charts.IRange"/> interface.
            Implementation of IRange is recommended to be via <see cref="T:Visiblox.Charts.RangeBase`1"/>.</remarks>
            <typeparam name="T">The type of the values within this range.</typeparam>
            <seealso cref="T:Visiblox.Charts.RangeBase`1"/>
            <seealso cref="T:Visiblox.Charts.CategoryRange"/>
        </member>
        <member name="T:Visiblox.Charts.IRange">
            <summary>
            Defines a range used by <see cref="T:Visiblox.Charts.IAxis"/> to define its <see cref="P:Visiblox.Charts.IAxisCommon.Range"/>.
            </summary>
            <remarks>
            <para>
            A range is defined by <see cref="P:Visiblox.Charts.IRange.Maximum"/> and <see cref="P:Visiblox.Charts.IRange.Minimum"/>. 
            </para>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.IRange.Grow(System.IComparable)">
            <summary>
             Grows the range by the specified <paramref name="value"/>, which if outside the range will cause the
             range to be expanded to include it.
            </summary>
            <param name="value">The value to expand the range by.</param>
        </member>
        <member name="M:Visiblox.Charts.IRange.GrowByFactor(System.Double,System.Boolean,System.Boolean)">
            <summary>
            Causes the range to expand by the given <paramref name="factor"/>.
            </summary>
            <param name="factor">Factor to expand the range by (where 1 is the entire range and 0 is no growth).</param>
            <param name="growMinimum">Whether to grow the range minimum.</param>
            <param name="growMaximum">Whether to grow the range maximum.</param>
        </member>
        <member name="M:Visiblox.Charts.IRange.GrowByRange(Visiblox.Charts.IRange)">
            <summary>
             Causes the range to expand to include <paramref name="range"/>.
            </summary>
            <remarks>After an invocation of GrowByRange, this range will be the union of its previous value and <paramref name="range"/>.</remarks>
            <param name="range">The range to grow the range to include.</param>
        </member>
        <member name="M:Visiblox.Charts.IRange.IsValueValid(System.IComparable)">
            <summary>
            Determines whether a value is valid to be added to this range
            </summary>
            <param name="value">the value to check for validity</param>
            <returns>True if the value is valid and false otherwise</returns>
        </member>
        <member name="P:Visiblox.Charts.IRange.Maximum">
            <summary>
            Gets or sets the maximum of the range.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IRange.Minimum">
            <summary>
            Gets or sets the minimum of the range.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IRange.IsValid">
            <summary>
            Indicates whether the range in its current form is valid and can be used.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.IRange`1.Grow(`0)">
            <summary>
             Grows the range by the specified <paramref name="value"/>, which if outside the range will cause the
             range to be expanded to include it.
            </summary>
            <param name="value">The value to expand the range by.</param>
        </member>
        <member name="M:Visiblox.Charts.IRange`1.IsValueValid(`0)">
            <summary>
            Determines whether a value is valid to be added to this range
            </summary>
            <param name="value">the value to check for validity</param>
            <returns>True if the value is valid and false otherwise</returns>
        </member>
        <member name="P:Visiblox.Charts.IRange`1.Maximum">
            <summary>
            Gets or sets the maximum of the range.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IRange`1.Minimum">
            <summary>
            Gets or sets the minimum of the range.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.#ctor">
            <summary>
             Default constructor, creating an empty range
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.#ctor(Visiblox.Charts.CategoryRange)">
            <summary>
            Constructs the category range, copying from the given <paramref name="categoryRange"/>.
            </summary>
            <param name="categoryRange">The existing category range to construct this range from.</param>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.GrowAtBeginning(System.IComparable)">
            <summary>
            Expands the category range to include the supplied value at the beginning of the range.
            If it isn't in the list of categories then it will be added, otherwise the range will remain unchanged.
            </summary>
            <param name="value">The value to grow the range by.</param>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.Grow(System.IComparable)">
            <summary>
            Expands the category range to include the supplied value. 
            If it isn't in the list of categories then it will be added, otherwise the range will remain unchanged.
            </summary>
            <param name="value">The value to grow the range by.</param>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.GrowByRange(Visiblox.Charts.IRange)">
            <summary>
             Causes the range to expand to include <paramref name="range"/>.
            </summary>
            <remarks>After an invocation of GrowByRange, this range will be the union of its previous value and <paramref name="range"/>.
            Categories not previously present in this range will be added to the end of the range in the order given by <paramref name="range"/>.</remarks>
            <param name="range">The range to grow the range to include.</param>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.GrowByFactor(System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
            <remarks>This operation is not interpreted to the CategoryRange thus this method does nothing.</remarks>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.Sort">
            <summary>
            Sorts the range members
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.IsValueValid(System.IComparable)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.OnPropertyChanged(System.String)">
            <summary>
            Raise the property changed event for this range.
            </summary>
            <param name="propertyName">The name of the property that's changed.</param>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.Equals(System.Object)">
            <summary>
            Determine if this category range is equal to <paramref name="obj"/> (ie <paramref name="obj"/> is a category range containing the same categories).
            </summary>
            <param name="obj">Object to check equality with.</param>
            <returns>Whether <paramref name="obj"/> is a category range equal to this one.</returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryRange.GetHashCode">
            <summary>
            Serves as a hash function for this <see cref="T:Visiblox.Charts.CategoryRange"/>.
            </summary>
            <returns>A suitable hash for this object.</returns>
        </member>
        <member name="E:Visiblox.Charts.CategoryRange.PropertyChanged">
            <summary>
            Event implementing <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryRange.Categories">
            <summary>
            Gets or sets the categories in the category range.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryRange.Maximum">
            <summary>
             <para>
             Gets or sets the first value in the list of <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>.
             </para>
             <para>
              When set, this grows the categories by the set value. If the value set is already the member of 
              <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>, nothing will happen.
             </para>
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryRange.Minimum">
            <summary>
             <para>
             Gets or sets the first value in the list of <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>.
             </para>
             <para>
              When set, this grows the categories by the set value. If the value set is already the member of 
              <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>, nothing will happen.
             </para>
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryRange.IsValid">
            <summary>
             Returns true if the range is valid and can be used.
             A category range is considered valid if it has at least one category defined.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.CategoryRange.SortOrder">
            <summary>
            Gets or sets whether the category items should be sorted according to their CompareTo method
            </summary>
        </member>
        <member name="T:Visiblox.Charts.IRangeWithEffectiveLimits`1">
            <summary>
            Defines a range of values bounded by a <see cref="P:Visiblox.Charts.IRange.Maximum"/> and <see cref="P:Visiblox.Charts.IRange.Minimum"/>. 
            <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.EffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.EffectiveMinimum"/> values are used to define the range with zoom applied.
            Defines a generic <see cref="T:Visiblox.Charts.IRangeWithEffectiveLimits"/>.
            </summary>
            <remarks>This is a more strongly typed version of the non-generic <see cref="T:Visiblox.Charts.IRangeWithEffectiveLimits"/> interface.</remarks>
            <typeparam name="T">The type of the values within this range.</typeparam>
        </member>
        <member name="T:Visiblox.Charts.IRangeWithEffectiveLimits">
            <summary>
            Defines a range of values bounded by a <see cref="P:Visiblox.Charts.IRange.Maximum"/> and <see cref="P:Visiblox.Charts.IRange.Minimum"/>. 
            <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMinimum"/> values are used to define the range with zoom applied.
            </summary>
            <remarks>
            <para>
            Defines a range used by <see cref="T:Visiblox.Charts.IAxis"/> to define its <see cref="P:Visiblox.Charts.IAxis.ActualRange"/>.
            <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMinimum"/> give the maximum and minimum data values within the range
            with the range applied.
            </para>
            <para>
            <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/> define an additional window within
                the boundaries representing the zoom on a continuous range.
            </para>
            <para>
            The value range of ranges can be continuous or discrete.
                <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/> represent the zoom within the continuous range.
                <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMinimum"/> represent the zoom within the discrete range and are converted from
                the <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMaximum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/> using <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/>.
                Since zooming happens on a continuous scale, we need a value which is in a continuous scale, for ease of use a discrete version of this value
                is also supplied.
             Other values can be mapped from continuous to discrete and vice versa in the <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToContinuousValueRange(System.IComparable)"/> and <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> methods.
            </para>
            <para>
            For continuous ranges these methods (<see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToContinuousValueRange(System.IComparable)"/> and <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/>) do not contain extra 
                logic as this conversion only has to be done for discrete ranges.
            </para>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)">
            <summary>
            Maps <paramref name="continuousValue"/> (which value is from a continuous value range) to the value range of the range itself, which includes:
            <see cref="P:Visiblox.Charts.IRange.Minimum"/>, <see cref="P:Visiblox.Charts.IRange.Maximum"/>, <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMinimum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum"/> .
            For discrete ranges this means mapping the continuous value range used by to the discrete value range of the range itself.
            For continuous ranges no such conversion is needed - the continuous value can act as a discrete value and vice versa.
            </summary>
            <param name="continuousValue">A value in the continuous value range.</param>
        </member>
        <member name="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToContinuousValueRange(System.IComparable)">
            <summary>
            Maps <paramref name="discreteValue"/> (which value is from the value range of the range itself) to the continuous value
            range used, which includes: <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/> and <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMaximum"/>. 
            For discrete ranges this means mapping the discrete value range of the range itself to the continuous value range. 
            For continuous ranges no such conversion is needed - the discrete value can act as a continuous value and vice versa.
            </summary>
            <param name="discreteValue">A value in the discrete value range.</param>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMaximum">
            <summary>
            Gets or sets the applied maximum for the range.
            This value will be in the discrete range - i.e. a data value. See documentation for implementation notes.
            </summary>
            <remarks>
            This value should either use <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> in its getter or be privately set using <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> 
            in <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/>. <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/> is also responsible for firing a property changed
            event for this property if binding is required.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits.EffectiveMinimum">
            <summary>
            Gets or sets the applied minimum for the range.
            This value will be in the discrete range - i.e. a data value. See documentation for implementation notes.
            </summary>
            <remarks>
            This value should either use <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> in its getter or be privately set using <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> 
            in <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/>. <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum"/> is also responsible for firing a property changed
            event for this property if binding is required.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMaximum">
            <summary>
            Gets or sets the applied continuous maximum for the range.
            Its value must always be on a continous value range, even in the range itself is discrete.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits.ContinuousEffectiveMinimum">
            <summary>
            Gets or sets the applied continuous minimum for the range.
            Its value must always be on a continous value range, even in the range itself is discrete.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.EffectiveMaximum">
            <summary>
            Gets or sets the applied maximum for the range.
            This value will be in the discrete range - i.e. a data value. See documentation for implementation notes.
            </summary>
            <remarks>
            This value should either use <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> in its getter or be privately set using 
            <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> in <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.ContinuousEffectiveMaximum"/>. <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.ContinuousEffectiveMaximum"/> 
            is also responsible for firing a property changed event for this property if binding is required.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.EffectiveMinimum">
            <summary>
            Gets the applied minimum for the range.
            This value will be in the discrete range - i.e. a data value. See documentation for implementation notes.
            </summary>
            <remarks>
            This value should either use <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/> in its getter or be privately set using 
            <see cref="M:Visiblox.Charts.IRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)"/>  in <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.ContinuousEffectiveMinimum"/>. <see cref="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.ContinuousEffectiveMinimum"/> 
            is also responsible for firing a property changed event for this property if binding is required.
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.ContinuousEffectiveMaximum">
            <summary>
            Gets or sets the applied continuous maximum for the range.
            Its value must always be on a continous value range, even in the range itself is discrete.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.IRangeWithEffectiveLimits`1.ContinuousEffectiveMinimum">
            <summary>
            Gets or sets the applied continuous minimum for the range.
            Its value must always be on a continous value range, even in the range itself is discrete.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.#ctor">
            <summary>
             Default constructor, creating an empty range
            </summary>
        </member>
        <member name="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.#ctor(Visiblox.Charts.CategoryRange)">
            <summary>
            Constructs the category range, copying from the given <paramref name="categoryRange"/>.
            </summary>
            <param name="categoryRange">The existing category range to construct this range from.</param>
        </member>
        <member name="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.Equals(System.Object)">
            <summary>
            Determine if this category range is equal to <paramref name="obj"/> (ie <paramref name="obj"/> is a category range containing the same categories).
            </summary>
            <param name="obj">Object to check equality with.</param>
            <returns>Whether <paramref name="obj"/> is a category range equal to this one.</returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.ToContinuousValueRange(System.IComparable)">
            <summary>
            Maps <paramref name="discreteValue"/>, which is a value within <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>
            to a double value.
            </summary>
            <param name="discreteValue"></param>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.CategoryRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)">
            <summary>
            Maps the double value <paramref name="continuousValue"/> to a value in <see cref="P:Visiblox.Charts.CategoryRange.Categories"/>.
            </summary>
            <param name="continuousValue"></param>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.EffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.EffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.ContinuousEffectiveMaximum">
            <summary>
             Gets or sets the applied continuous maximum for the range. This is a double value (as it needs to have a 
                continuous value range). This value is continously being re-calculated by the axis, thus setting
                it externally is not recommended as it will have no effect.
            </summary>
            <remarks>
            The type of EffectiveMaximum used by this range is a double. Mapping is done by assigning 1.0 length to
                all categories and mapping the double value to the closest category. E.g. EffectiveMaximum set to 0.6 would
                mean it's mapped to the 2nd category (as [-0.5,0.5) is mapped to the 1st category and [0.5, 1.5) is mapped
                to the 2nd category).
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.ContinuousEffectiveMinimum">
            <summary>
             Gets or sets the applied continuous minimum for the range. This is a double value (as it needs to have a 
                continuous value range). This value is continously being re-calculated by the axis, thus setting
                it externally is not recommended as it will have no effect.
            </summary>
            <remarks>
            The type of EffectiveMinimum used by this range is a double. Mapping is done by assigning 1.0 length to
                all categories and mapping the double value to the closest category. E.g. EffectiveMinimum set to 0.6 would
                mean it's mapped to the 2nd category (as [-0.5,0.5) is mapped to the 1st category and [0.5, 1.5) is mapped
                to the 2nd category).
            </remarks>
        </member>
        <member name="P:Visiblox.Charts.CategoryRangeWithEffectiveLimits.IsValid">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.DateTimeRangeWithEffectiveLimits">
            <summary>
            Represents a range of DateTimes bounded by a <see cref="P:Visiblox.Charts.IRange.Minimum"/>, <see cref="P:Visiblox.Charts.IRange.Maximum"/> value.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.DateTimeRange">
            <summary>
            Represents a range of DateTimes bounded by a <see cref="P:Visiblox.Charts.DateTimeRange.Minimum"/> and <see cref="P:Visiblox.Charts.DateTimeRange.Maximum"/> value.
            </summary>
            <seealso cref="T:Visiblox.Charts.RangeBase`1"/>
        </member>
        <member name="T:Visiblox.Charts.RangeBase`1">
            <summary>
            Base class for generic ranges with continuous value ranges bounded by a <see cref="P:Visiblox.Charts.RangeBase`1.Maximum"/> and <see cref="P:Visiblox.Charts.RangeBase`1.Minimum"/> value.
            </summary>
            <typeparam name="T">The type of the values within this range.</typeparam>
            <remarks>
            <para>
            This class provides property changed notification for the <see cref="P:Visiblox.Charts.RangeBase`1.Minimum"/> and <see cref="P:Visiblox.Charts.RangeBase`1.Maximum"/> properties.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.DoubleRange"/>
            <seealso cref="T:Visiblox.Charts.DateTimeRange"/>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.#ctor">
            <summary>
             Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.#ctor(`0,`0)">
            <summary>
             Constructs a range with the passed <paramref name="minimum"/> and <paramref name="maximum"/>.
            </summary>
            <param name="minimum">minimum</param>
            <param name="maximum">maximum</param>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.Grow(`0)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.GrowByFactor(System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.GrowByRange(Visiblox.Charts.IRange{`0})">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.Grow(System.IComparable)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.GrowByRange(Visiblox.Charts.IRange)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.IsValueValid(System.IComparable)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.IsValueValid(`0)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> <paramref name="obj"/> is equal to this <see cref="T:Visiblox.Charts.RangeBase`1"/> 
            (is a range deriving from <see cref="T:Visiblox.Charts.RangeBase`1"/> whose <see cref="P:Visiblox.Charts.IRange.Maximum"/> and <see cref="P:Visiblox.Charts.IRange.Minimum"/> are equal to this range, 
            and both ranges have the same value of <see cref="P:Visiblox.Charts.IRange.IsValid"/>).
            </summary>
            <remarks>Does not check that effective minimum and maximum are equal, this would have negative performance implications on the chart:
            it should be assumed that if both ranges have their effective min/max recalculated, they would be equal if the ranges are equal.</remarks>
            <param name="obj">The object to test for range equality.</param>
            <returns>Whether <paramref name="obj"/>is equal to this range.</returns>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.GetHashCode">
            <summary>
            Serves as a hash function for this <see cref="T:Visiblox.Charts.RangeBase`1"/>.
            </summary>
            <returns>A suitable hash for this object.</returns>
        </member>
        <member name="M:Visiblox.Charts.RangeBase`1.OnPropertyChanged(System.String)">
            <summary>
            Raises the property changed event for this range.
            </summary>
            <param name="propertyName">The name of the property that's changed.</param>
        </member>
        <member name="E:Visiblox.Charts.RangeBase`1.PropertyChanged">
            <summary>
            Event implementing <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.RangeBase`1.IsValid">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.RangeBase`1.Visiblox#Charts#IRange#Maximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.RangeBase`1.Visiblox#Charts#IRange#Minimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.RangeBase`1.Maximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.RangeBase`1.Minimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.RangeBase`1.Tag">
            <summary>
            Gets or sets an arbitrary object value that can be used to store custom information about this element.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRange.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRange.#ctor(System.DateTime,System.DateTime)">
            <summary>
            Constructs a <see cref="T:Visiblox.Charts.DateTimeRange"/> with the given <paramref name="minimum"/> and <paramref name="maximum"/> values.
            </summary>
            <param name="minimum">The minimum <see cref="T:System.DateTime"/> in the range</param>
            <param name="maximum">The maximum <see cref="T:System.DateTime"/> in the range</param>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRange.GrowByFactor(System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.DateTimeRange.Maximum">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.DateTimeRange.Minimum">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.#ctor(System.DateTime,System.DateTime)">
            <summary>
            Constructs a <see cref="T:Visiblox.Charts.DateTimeRange"/> with the given <paramref name="minimum"/> and <paramref name="maximum"/> values.
            </summary>
            <param name="minimum">The minimum <see cref="T:System.DateTime"/> in the range</param>
            <param name="maximum">The maximum <see cref="T:System.DateTime"/> in the range</param>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.ToContinuousValueRange(System.DateTime)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It just returns the value without conversion (as it is already is selected from a continuous value range).
            </summary>
            <param name="discreteValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.ToDiscreteValueRange(System.DateTime)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It returns the value without conversion (as the value range of the range itself is continuous, not discrete).
            </summary>
            <param name="continuousValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.GrowByFactor(System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> <paramref name="obj"/> is equal to this <see cref="T:Visiblox.Charts.DateTimeRangeWithEffectiveLimits"/> 
            (is a range deriving from <see cref="T:Visiblox.Charts.DateTimeRangeWithEffectiveLimits"/> whose <see cref="P:Visiblox.Charts.IRange.Maximum"/> and <see cref="P:Visiblox.Charts.IRange.Minimum"/> are equal to this range, 
            and both ranges have the same value of <see cref="P:Visiblox.Charts.IRange.IsValid"/>).
            </summary>
            <remarks>Does not check that effective minimum and maximum are equal, this would have negative performance implications on the chart:
            it should be assumed that if both ranges have their effective min/max recalculated, they would be equal if the ranges are equal.</remarks>
            <param name="obj">The object to test for range equality.</param>
            <returns>Whether <paramref name="obj"/>is equal to this range.</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.GetHashCode">
            <summary>
            Serves as a hash function for this <see cref="T:Visiblox.Charts.DateTimeRangeWithEffectiveLimits"/>.
            </summary>
            <returns>A suitable hash for this object.</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.ToContinuousValueRange(System.IComparable)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It just returns the value without conversion (as it is already is selected from a continuous value range).
            </summary>
            <param name="discreteValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="M:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It returns the value without conversion (as the value range of the range itself is continuous, not discrete).
            </summary>
            <param name="continuousValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.EffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.EffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.ContinuousEffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.ContinuousEffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#EffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#EffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#ContinuousEffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#ContinuousEffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DateTimeRangeWithEffectiveLimits.IsValid">
            <inheritdoc/>
        </member>
        <member name="T:Visiblox.Charts.DoubleRangeWithEffectiveLimits">
            <summary>
            Represents a range of doubles bounded by a <see cref="P:Visiblox.Charts.RangeBase`1.Minimum"/> 
            and <see cref="P:Visiblox.Charts.RangeBase`1.Maximum"/> value.
            </summary>
            <seealso cref="T:Visiblox.Charts.IRangeWithEffectiveLimits`1"/>
            <seealso cref="T:Visiblox.Charts.DoubleRange"/>
        </member>
        <member name="T:Visiblox.Charts.DoubleRange">
            <summary>
            Represents a range of doubles bounded by a <see cref="P:Visiblox.Charts.RangeBase`1.Minimum"/> 
            and <see cref="P:Visiblox.Charts.RangeBase`1.Maximum"/> value.
            </summary>
            <seealso cref="T:Visiblox.Charts.RangeBase`1"/>
        </member>
        <member name="M:Visiblox.Charts.DoubleRange.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DoubleRange.#ctor(System.Double,System.Double)">
            <summary>
            Creates a range with the given values.
            </summary>
            <param name="min">The range minimum.</param>
            <param name="max">The range maximum.</param>
        </member>
        <member name="M:Visiblox.Charts.DoubleRange.GrowByFactor(System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.DoubleRange.IntersectsWith(Visiblox.Charts.DoubleRange)">
            <summary>
            Calculates whether this range intersects with <paramref name="range"/>.
            </summary>
            <param name="range">The range to calculate intersection with.</param>
            <returns>Whether this range intersects with <paramref name="range"/>.</returns>
        </member>
        <member name="M:Visiblox.Charts.DoubleRange.IsValueValid(System.Double)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.DoubleRange.Compare(System.IComparable,System.IComparable)">
            <summary>
            Compares two IComparables returning -1 if the <paramref name="left"/> is null and 1 if the <paramref name="right"/> is null.
            Used when determining whether two ranges intersect.
            </summary>
            <param name="left">The left comparable.</param>
            <param name="right">The right comparable.</param>
            <returns>A value indicating which is larger.</returns>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.#ctor(System.Double,System.Double)">
            <summary>
            Creates a range with the given values.
            </summary>
            <param name="min">The range minimum.</param>
            <param name="max">The range maximum.</param>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.GrowByFactor(System.Double,System.Boolean,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.ToContinuousValueRange(System.Double)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It just returns the value without conversion (as it is already is selected from a continuous value range).
            </summary>
            <param name="discreteValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.ToDiscreteValueRange(System.Double)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It returns the value without conversion (as the value range of the range itself is continuous, not discrete).
            </summary>
            <param name="continuousValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> <paramref name="obj"/> is equal to this <see cref="T:Visiblox.Charts.DoubleRangeWithEffectiveLimits"/> 
            (is a range deriving from <see cref="T:Visiblox.Charts.DoubleRangeWithEffectiveLimits"/> whose <see cref="P:Visiblox.Charts.IRange.Maximum"/> and <see cref="P:Visiblox.Charts.IRange.Minimum"/> are equal to this range, 
            and both ranges have the same value of <see cref="P:Visiblox.Charts.IRange.IsValid"/>).
            </summary>
            <remarks>Does not check that effective minimum and maximum are equal, this would have negative performance implications on the chart:
            it should be assumed that if both ranges have their effective min/max recalculated, they would be equal if the ranges are equal.</remarks>
            <param name="obj">The object to test for range equality.</param>
            <returns>Whether <paramref name="obj"/>is equal to this range.</returns>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.GetHashCode">
            <summary>
            Serves as a hash function for this <see cref="T:Visiblox.Charts.IRangeWithEffectiveLimits`1"/>.
            </summary>
            <returns>A suitable hash for this object.</returns>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.ToContinuousValueRange(System.IComparable)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It just returns the value without conversion (as it is already is selected from a continuous value range).
            </summary>
            <param name="discreteValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="M:Visiblox.Charts.DoubleRangeWithEffectiveLimits.ToDiscreteValueRange(System.IComparable)">
            <summary>
            Because the value range is continuous, this method contains no logic.
            It returns the value without conversion (as the value range of the range itself is continuous, not discrete).
            </summary>
            <param name="continuousValue">Input value</param>
            <returns>The same value</returns>
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.EffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.EffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.ContinuousEffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.ContinuousEffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.IsValid">
            <inheritdoc/>
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#EffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#EffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#ContinuousEffectiveMaximum">
            <inheritdoc />
        </member>
        <member name="P:Visiblox.Charts.DoubleRangeWithEffectiveLimits.Visiblox#Charts#IRangeWithEffectiveLimits#ContinuousEffectiveMinimum">
            <inheritdoc />
        </member>
        <member name="T:Visiblox.Charts.PieChartSelectionMode">
            <summary>
            Defines supported selection modes for <see cref="T:Visiblox.Charts.PieChart"/>.
            </summary>
            <seealso cref="T:Visiblox.Charts.PieChart"/>
        </member>
        <member name="F:Visiblox.Charts.PieChartSelectionMode.None">
            <summary>
            Chart does not allow any form of selection.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChartSelectionMode.Single">
            <summary>
            Chart allows selection of a single  pie piece.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.PieChartSelectionMode.Multiple">
            <summary>
            Chart allows selection of a multiple pie pieces.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BarOrColumnBounds">
            <summary>
            A structure to hold the boundaries and location position of a bar/column shape.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BarSeries">
            <summary>
            Represents a bar series.
            </summary>
            <remarks>
            BarSeries is essentially the same as <see cref="T:Visiblox.Charts.ColumnSeries"/> but with horizontal bars. See <see cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>.
            </remarks>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.ColumnSeries"/>
        </member>
        <member name="M:Visiblox.Charts.BarSeries.#ctor">
            <summary>
            Creates a bar series.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.BarSeriesType">
            <summary>
            Defines the possible types of bar series based on layout direction.
            </summary>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
        </member>
        <member name="F:Visiblox.Charts.BarSeriesType.BarSeries">
            <summary>
            A series with horizontal bars.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.BarSeriesType.ColumnSeries">
            <summary>
            A series with vertical bars.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.ColumnSeries">
            <summary>
            Represents a column series.
            </summary>
            <remarks>
            BarSeries is essentially the same as <see cref="T:Visiblox.Charts.ColumnSeries"/> but with vertical bars. See <see cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>.
            </remarks>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
            <seealso cref="T:Visiblox.Charts.BarSeries"/>
        </member>
        <member name="M:Visiblox.Charts.ColumnSeries.#ctor">
            <summary>
            Creates a column series.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.IDependentChartSeries">
            <summary>
            Interface for series that depend on the other series within the same chart when drawing themselves.
            </summary>
            <remarks>An example is stacked bar series: in order to plot the next stacked bar part, the series has to know
            where the previous series where plotted in order to draw on top of them.</remarks>
            <seealso cref="T:Visiblox.Charts.BarOrColumnSeriesBase"/>
        </member>
        <member name="P:Visiblox.Charts.IDependentChartSeries.ChartSeriesCollection">
            <summary>
            Gets or sets the other series that are plotted on the same chart
            </summary>
            <remarks>This property is set by the chart and used by the dependent chart series.</remarks>
        </member>
        <member name="T:Visiblox.Charts.MultiValueSeriesBase">
            <summary>
            Base class for series with multi value datapoints (<see cref="T:Visiblox.Charts.MultiValuedDataPoint`2"/>
            </summary>
            <remarks>
            <para>
            The class implements the strategy of invalidating points. Members inheriting this class only need 
            to override <see cref="M:Visiblox.Charts.MultiValueSeriesBase.CreatePoint(Visiblox.Charts.IDataPoint)"/>, <see cref="M:Visiblox.Charts.MultiValueSeriesBase.UpdatePoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/>.
            Optionally they can override <see cref="M:Visiblox.Charts.MultiValueSeriesBase.StyleNormalPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/>, <see cref="M:Visiblox.Charts.MultiValueSeriesBase.StyleSelectedPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/> and <see cref="M:Visiblox.Charts.MultiValueSeriesBase.StyleHighlightedPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/>.
            If the concrete series uses other object than Paths for rendering points, override <see cref="M:Visiblox.Charts.MultiValueSeriesBase.PositionPointOnZoomCanvas"/> to have
                the point positioned on <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.RootZoomCanvas"/>.
            </para>
            
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.CreatePoint(Visiblox.Charts.IDataPoint)">
            <summary>
            Creates the physical representation of the <paramref name="dataPoint"/> logical point.
            </summary>
            <remarks>Note that this method will only be called for points deemed renderable by <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.IsPointRenderable(Visiblox.Charts.IDataPoint)"/>,
            consider overriding <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.IsPointRenderableInternal(Visiblox.Charts.IDataPoint)"/> to enforce an appropriate condition for this series.</remarks>
            <param name="dataPoint">The logical point</param>
            <returns>The point to be plotted on the screen</returns>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.UpdatePoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Updates the physical point <paramref name="point"/> that is the representation of the logical point <paramref name="dataPoint"/>
            to reflect the new value of <paramref name="dataPoint"/>. Implementation is optional.
            </summary>
            <remarks><para>Implementation of <see cref="M:Visiblox.Charts.MultiValueSeriesBase.UpdatePoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/> is optional for efficiency.
            If UpdatePoint returns true, this indicates the point has been updated successfully. If this method returns <c>false</c>, 
            as in the base implementation, the existing point is removed, and <see cref="M:Visiblox.Charts.MultiValueSeriesBase.CreatePoint(Visiblox.Charts.IDataPoint)"/> is used instead to create its replacement.</para>
            <para>Note that this method will only be called for points deemed renderable by <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.IsPointRenderable(Visiblox.Charts.IDataPoint)"/>,
            consider overriding <see cref="M:Visiblox.Charts.ChartSeriesCommonBase.IsPointRenderableInternal(Visiblox.Charts.IDataPoint)"/> to enforce an appropriate condition for this series.</para>
            </remarks>
            <param name="point">The existing physical representation of the point</param>
            <param name="dataPoint">The logical point</param>
            <returns>Whether <paramref name="point"/> was updated.</returns>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.CreatePointInteractionHelper(Visiblox.Charts.IDataPoint)">
            <summary>
            Creates the physical representation of the interactable region associated with the <paramref name="dataPoint"/> logical point.
            By default the result of <see cref="M:Visiblox.Charts.MultiValueSeriesBase.CreatePoint(Visiblox.Charts.IDataPoint)"/> is used as the interactable region, override to provide a different behaviour,
            such as enlarged area either side of a line which might otherwise be hard to click.
            </summary>
            <param name="dataPoint">The logical point</param>
            <returns>The point to be plotted on the screen</returns>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.UpdatePointInteractionHelper(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Updates the point interaction region as created by <see cref="M:Visiblox.Charts.MultiValueSeriesBase.CreatePointInteractionHelper(Visiblox.Charts.IDataPoint)"/>. By default this does nothing,
            as the datapoint is used and updated elsewhere.
            </summary>
            <remarks>As for <see cref="M:Visiblox.Charts.MultiValueSeriesBase.UpdatePoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/>, this UpdatePointInteractionHelper returns true if the element was updated,
            and false if <see cref="M:Visiblox.Charts.MultiValueSeriesBase.CreatePointInteractionHelper(Visiblox.Charts.IDataPoint)"/> should be used to create a new one instead.</remarks>
            <param name="helperPoint">The physical representation of the interaction helper point</param>
            <param name="dataPoint">The logical point</param>
            <returns>The updated data point</returns>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.StyleNormalPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Styles a point that is not selected, not highlighted
            </summary>
            <remarks>The default implementation does nothing.</remarks>
            <param name="point">The physical element to be styled</param>
            <param name="dataPoint">The logical point that <paramref name="point"/> represents</param>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.StyleSelectedPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Styles a point that is selected
            </summary>
            <remarks>The default implementation defers to <see cref="M:Visiblox.Charts.MultiValueSeriesBase.StyleNormalPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/>.</remarks>
            <param name="point">The physical element to be styled</param>
            <param name="dataPoint">The logical point that <paramref name="point"/> represents</param>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.StyleHighlightedPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Styles a point that is highlighted
            </summary>
            <remarks>The default implementation defers to <see cref="M:Visiblox.Charts.MultiValueSeriesBase.StyleNormalPoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)"/>.</remarks>
            <param name="point">The physical element to be styled</param>
            <param name="dataPoint">The logical point that <paramref name="point"/> represents</param>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.InvalidateInternal">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.ClearCanvas">
            <summary>
            Clears the points from the canvas and associated data structures.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.UpdateSeriesHighlighting(System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.AddDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.RemoveDataPoint(Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.UpdateDataPoint(Visiblox.Charts.IDataPoint,Visiblox.Charts.IDataPoint,System.Int32)">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.PositionPointOnZoomCanvas">
            <summary>
            Returns whether a point should be positioned on the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.RootZoomCanvas"/>.
            Default implementation returns false. Override if the series uses elements other than Paths
                that's RenderTransform needs to be set to position to the correct location.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.RemoveDataPointRepresentations(Visiblox.Charts.IDataPoint)">
            <summary>
            Remove a data point from the zoom canvas, and the data point / framework element mappings.
            </summary>
            <param name="point"></param>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.StylePoint(System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint)">
            <summary>
            Applies the appropriate style to the physical point <paramref name="point"/>
            </summary>
            <param name="point">The physical representation of the point</param>
            <param name="dataPoint">The logical point</param>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.SuggestedPointWidthChanged">
            <summary>
            Returns whether the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.SuggestedPointWidth"/> is different than the current suggested point width
            </summary>
            <returns></returns>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.DrawPoint(Visiblox.Charts.IDataPoint)">
            <summary>
            Plots a point on the canvas of the series.
            </summary>
            <param name="dataPoint">The data point</param>
        </member>
        <member name="M:Visiblox.Charts.MultiValueSeriesBase.CreateOrUpdateElement(Visiblox.Charts.IDataPoint,Visiblox.Charts.Primitives.TwoWayDictionary{Visiblox.Charts.IDataPoint,System.Windows.FrameworkElement},System.Func{Visiblox.Charts.IDataPoint,System.Windows.FrameworkElement},System.Func{System.Windows.FrameworkElement,Visiblox.Charts.IDataPoint,System.Boolean},System.Boolean)">
            <summary>
            Create or update the point or helper element for a data point.
            </summary>
            <param name="dataPoint"></param>
            <param name="pointMap"></param>
            <param name="createAction"></param>
            <param name="updateAction"></param>
            <param name="insertAtEnd">Whether the new point should be inserted at the end of the list or not.
            This is important as the helpers (if they exist) always need to appear over the normal points, 
            hence when adding normal points they should always be added to the beginning of the collection, not the end</param>
            <returns></returns>
        </member>
        <member name="P:Visiblox.Charts.MultiValueSeriesBase.XRange">
            <summary>
            <inheritdoc/>
            </summary>
            <remarks>Represents the data range extended by the <see cref="P:Visiblox.Charts.ChartSeriesCommonBase.SuggestedPointWidth"/>.</remarks>
            <remarks> Do not change the properties on this object as it may be overwritten by the chart. 
            Instead use IAxis.Range to set a specific range.</remarks>
        </member>
        <member name="T:Visiblox.Charts.Palette">
            <summary>
            Represents a palette used by the <see cref="T:Visiblox.Charts.Chart"/>. 
            A palette is a list of <see cref="T:System.Windows.Style"/> objects and supports enumerating through these items.
            </summary>
            <remarks>
            <para>
            Enumeration through the <see cref="T:System.Windows.Style"/> objects is done by iterating through styles according to their target
             types.
            Each Style should have the TargetType set to the series type it specifies and set the Setters valid for that series.
            </para>
            <example>
            If the Palette contains 5 styles: LineSeriesStyle0, LineSeriesStyle1, ColumnSeriesStyle0, ColumnSeriesStyle1, ColumnSeriesStyle2
                and the chart contains 3 series: LineSeries1, LineSeries2, ColumnSeries1, then the following styles will be applied to the series:
                LineSeries1 --&gt; LineSeriesStyle0 (0%(number of LineSeries styles))
                LineSeries2 --&gt; LineSeriesStyle1 (1%(number of LineSeries styles))
                ColumnSeries1 --&gt; ColumnSeriesStyle2 (2%(number of ColumnSeries styles))
            </example>
            </remarks>
        </member>
        <member name="M:Visiblox.Charts.Palette.ResolvePaletteStyles(Visiblox.Charts.Palette,System.Object)">
            <summary>
            Finds the styles in a palette that apply to the given target. This means having the same target type or the 
            nearest superclass.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.SelectionMode">
            <summary>
            Defines supported point selection modes for <see cref="T:Visiblox.Charts.IChartSeries"/>.
            </summary>
            <seealso cref="T:Visiblox.Charts.IChartSeries"/>
        </member>
        <member name="F:Visiblox.Charts.SelectionMode.None">
            <summary>
            Series does not allow any form of selection.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.SelectionMode.SinglePoint">
            <summary>
            Series allows selection of a single point.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.SelectionMode.MultiplePoints">
            <summary>
            Series allows selection of a multiple points.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.SelectionMode.Series">
            <summary>
            Series allows whole-series selection.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.SeriesCollection`1">
            <summary>
            Represents an observable collection which forwards DataSeriesCollectionChanged events for the 
            <see cref="T:Visiblox.Charts.IChartSeries"/> instances which it contains.
            </summary>
            <remarks>
            <see cref="T:Visiblox.Charts.Chart"/> uses this class as its <see cref="P:Visiblox.Charts.Chart.Series"/> member
            to relay the DataSeriesCollectionChanged events for its series.
            </remarks>
            <seealso cref="P:Visiblox.Charts.Chart.Series"/>
            <seealso cref="T:Visiblox.Charts.IChartSeries"/>
        </member>
        <member name="F:Visiblox.Charts.SeriesCollection`1._element">
            <summary>
            The root element in the visual tree of the series collection
            </summary>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.Init(System.Windows.Controls.Grid)">
            <summary>
            Initalizes the series collection
            </summary>
            <param name="element"></param>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.DeInit">
            <summary>
            Deinitalizes the series collection
            </summary>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.DoInvalidate">
            <inheritdoc/>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.OnDataSeriesCollectionChanged(System.Object,System.EventArgs)">
            <summary>
            Raises the DataSeriesCollectionChanged event;
            </summary>
            <param name="sender">The sender - which is the IChartSeries that has changed</param>
            <param name="e">The notify event</param>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.Item_DataSeriesCollectionChanged(System.Object,System.EventArgs)">
            <summary>
             Called when something in the data series changes, this fires the data series changed event
            </summary>
            <param name="sender">The series that has changed</param>
            <param name="e">The notification event arguments</param>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.Series_CollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when the Series property raises a CollectionChanged event, i.e.
            a series has been added / removed
            </summary>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.AddSeries(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Called when a series is added to the chart.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.SeriesCollection`1.Series_PropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a series raises a PropertyChanged event, if this is the YAxis then ranges are recalculated.
            </summary>
        </member>
        <member name="P:Visiblox.Charts.SeriesCollection`1.Palette">
            <summary>
            Gets or sets the Palette used by all series.
            </summary>
        </member>
        <member name="E:Visiblox.Charts.SeriesCollection`1.DataSeriesCollectionChanged">
            <summary>
            <para>
             Occurs when the DataSeries collection changes, see <see cref="T:System.Collections.Specialized.INotifyCollectionChanged"/>
            </para>
            <para>
             The sender will be the IChartSeries that has changed.
            </para>
            </summary>
        </member>
        <member name="E:Visiblox.Charts.SeriesCollection`1.SeriesPropertyChangedAggregate">
            <summary>
            Occurs when any of the series' property changes
            </summary>
            <remarks>
            The sender will be the IChartSeries that has raised the PropertyChanged event
            </remarks>
        </member>
        <member name="T:Visiblox.Charts.StackingMode">
            <summary>
            Defines the various stacking modes that can be used to build a stacked data series.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.StackingMode.Normal">
            <summary>
            Each data series is placed "on top" of the prior data series.
            </summary>
        </member>
        <member name="F:Visiblox.Charts.StackingMode.HundredPercent">
            <summary>
            Stacking is performed by adjusting the extent of a data point to its percentage proportion.
            </summary>
        </member>
        <member name="T:Visiblox.Charts.StaircaseSeries">
            <summary>
            Represents a staircase series.
            </summary>
            <remarks>
            <para>
            A StaircaseSeries consists of vertical and horizontal lines connecting points. The horizontal line is always drawn first to the
            next data point's x value, followed by a vertical line up to the y value.
            </para>
            <para>
            For example, a series containing points 1,1 and 3,3 will draw a horizontal line from 1,1 to 3,1, then a vertical line from 3,1 to 3,3.
            </para>
            </remarks>
            <seealso cref="T:Visiblox.Charts.ChartSeriesCommonBase"/>
        </member>
        <member name="M:Visiblox.Charts.StaircaseSeries.BuildGeometry(System.Collections.Generic.IList{Visiblox.Charts.LineSeries.DataPointItem},System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StaircaseSeries.AddDataPointToGeometry(System.Windows.Media.PathGeometry,System.Windows.Point,System.Int32,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="M:Visiblox.Charts.StaircaseSeries.RemoveDataPointFromGeometry(System.Windows.Media.PathGeometry,System.Int32,System.Boolean)">
            <inheritdoc />
        </member>
        <member name="T:Visiblox.Charts.Primitives.BarOrColumnTrackballTransformConverter">
            <summary>
            Converter to translate an <see cref="T:Visiblox.Charts.IDataPoint"/> containing display positional coordinates to a 
            <see cref="T:System.Windows.Point"/> based upon a specified Y-value index parameter.
            </summary>
        </member>
        <member name="M:Visiblox.Charts.Primitives.BarOrColumnTrackballTransformConverter.Convert(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            Convert a display-coordinate <see cref="T:Visiblox.Charts.IDataPoint"/> <paramref name="value"/> into a <see cref="T:System.Windows.Point"/> 
            based upon a specified Y-value index <paramref name="parameter"/>. 
            The returned point consists of the <paramref name="value"/> point's X value and the Y value indicated 
            by <paramref name="parameter"/>.
            </summary>
            <param name="value">An <see cref="T:Visiblox.Charts.IDataPoint"/> to be converted</param>
            <param name="targetType">The target type (should be <see cref="T:System.Windows.Point"/>)</param>
            <param name="parameter">Chosen y value key (or Y if null)</param>
            <param name="culture">Culture for the conversion (unused).</param>
            <returns>A Point representing the location of the data point within the plot area</returns>
        </member>
        <member name="M:Visiblox.Charts.Primitives.BarOrColumnTrackballTransformConverter.ConvertBack(System.Object,System.Type,System.Object,System.Globalization.CultureInfo)">
            <summary>
            See <see cref="T:System.Windows.Data.IValueConverter"/>, not implemented.
            </summary>
            <inheritdoc/>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Paddedwall Software
United States United States
I've been paid as a programmer since 1982 with experience in Pascal, and C++ (both self-taught), and began writing Windows programs in 1991 using Visual C++ and MFC. In the 2nd half of 2007, I started writing C# Windows Forms and ASP.Net applications, and have since done WPF, Silverlight, WCF, web services, and Windows services.

My weakest point is that my moments of clarity are too brief to hold a meaningful conversation that requires more than 30 seconds to complete. Thankfully, grunts of agreement are all that is required to conduct most discussions without committing to any particular belief system.

Comments and Discussions