SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components
In my project the output panel showing the following binding errors
System.Windows.Data Error: 40 : BindingExpression path error: 'Exponent' property not found on 'object' ''DefaultTickLabelViewModel' (HashCode=56110932)'. BindingExpression:Path=Exponent; DataItem='DefaultTickLabelViewModel' (HashCode=56110932); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
System.Windows.Data Error: 40 : BindingExpression path error: 'HasExponent' property not found on 'object' ''DefaultTickLabelViewModel' (HashCode=56110932)'. BindingExpression:Path=HasExponent; DataItem='DefaultTickLabelViewModel' (HashCode=56110932); target element is 'TextBlock' (Name='exponent'); target property is 'Visibility' (type 'Visibility')
System.Windows.Data Error: 40 : BindingExpression path error: 'Separator' property not found on 'object' ''DefaultTickLabelViewModel' (HashCode=9331561)'. BindingExpression:Path=Separator; DataItem='DefaultTickLabelViewModel' (HashCode=9331561); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
my Line chart view code is here (I can’t able to make attachment)
<UserControl x:Class="Instron.Database.Presentation.DatabaseViews.Views.Visualization.LineChartView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:SciChart="clr-namespace:Abt.Controls.SciChart;assembly=Abt.Controls.SciChart.Wpf.3.0"
xmlns:s="http://schemas.abtsoftware.co.uk/scichart"
mc:Ignorable="d" Width="Auto" Height="Auto"
xmlns:gbl="clr-namespace:Instron.Database.Presentation.DatabaseViews.Globalization">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ContentControlDataTemplate.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid >
<TextBlock FontSize="24"
HorizontalAlignment="Center"
VerticalAlignment="Center"
TextWrapping="Wrap"
Foreground="DimGray"
Visibility="{Binding IsAxisVisible,Converter={StaticResource NotBooleanToVisibilityConverter}}" >
<TextBlock.Text>
<gbl:TranslateExtension>
<gbl:TranslateExtension.DesignTimeText>Either X or Y axis do not contain sufficient data</gbl:TranslateExtension.DesignTimeText>
<gbl:TranslateExtension.StringId>010000123</gbl:TranslateExtension.StringId>
</gbl:TranslateExtension>
</TextBlock.Text>
</TextBlock>
<s:SciChartSurface x:Name="sciChart" ChartTitle="{Binding ChartName}" Style="{StaticResource SciChartSurfaceStyle}" Visibility="{Binding IsLegendVisible,Converter={StaticResource BoolToVisibilityConverter}}"
GridLinesPanelStyle="{StaticResource GridLinesPanelStyle }" RenderableSeries="{Binding RenderableSeries}" Margin="0,-5,0,-10"
DataContextChanged="sciChart_DataContextChanged" Rendered="sciChart_Rendered" ViewportManager="{Binding ViewportManager}">
<s:SciChartSurface.ContextMenu>
<ContextMenu >
<MenuItem Command="{Binding SaveAsCommand}">
<MenuItem.Header>
<gbl:TranslateExtension>
<gbl:TranslateExtension.DesignTimeText>SaveAs</gbl:TranslateExtension.DesignTimeText>
<gbl:TranslateExtension.StringId>010000126</gbl:TranslateExtension.StringId>
</gbl:TranslateExtension>
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding CopyCommand}">
<MenuItem.Header>
<gbl:TranslateExtension>
<gbl:TranslateExtension.DesignTimeText>Copy</gbl:TranslateExtension.DesignTimeText>
<gbl:TranslateExtension.StringId>010000127</gbl:TranslateExtension.StringId>
</gbl:TranslateExtension>
</MenuItem.Header>
</MenuItem>
<MenuItem Command="{Binding PrintCommand}">
<MenuItem.Header>
<gbl:TranslateExtension>
<gbl:TranslateExtension.DesignTimeText>Print</gbl:TranslateExtension.DesignTimeText>
<gbl:TranslateExtension.StringId>010000128</gbl:TranslateExtension.StringId>
</gbl:TranslateExtension>
</MenuItem.Header>
</MenuItem>
</ContextMenu>
</s:SciChartSurface.ContextMenu>
<s:SciChartSurface.XAxis>
<s:NumericAxis AutoTicks="False" GrowBy="0.05, 0.05"
DrawMajorGridLines="{Binding IsLegendVisible}" DrawMinorGridLines ="False"
AxisTitle="{Binding XAxisName}" TitleStyle="{StaticResource AxisTitleStyle}" TickLabelStyle="{StaticResource AxisLabelStyle}"
LabelProvider="{Binding XLabelFormatter}"
MajorDelta="1" MinorDelta="0.2"
/>
</s:SciChartSurface.XAxis>
<s:SciChartSurface.YAxis>
<s:NumericAxis GrowBy="1, 1" TickLabelStyle="{StaticResource AxisLabelStyle}" DrawMajorGridLines="{Binding IsLegendVisible}"
AxisAlignment="Left" DrawMinorGridLines ="False"
AxisTitle="{Binding YAxisTitle}"
TitleStyle="{StaticResource AxisTitleStyle}" />
</s:SciChartSurface.YAxis>
<!-- Adding the ZoomPanModifier gives SciChart the ability to pan on mouse-drag -->
<s:SciChartSurface.ChartModifier>
<s:ModifierGroup>
<s:XAxisDragModifier ClipModeX="ClipAtExtents"/>
<s:YAxisDragModifier ClipToBounds="True" />
<s:RubberBandXyZoomModifier x:Name="rubberBandZoomModifier" IsEnabled="True" IsXAxisOnly="False" ZoomExtentsY="False" IsAnimated="True"/>
<s:ZoomExtentsModifier x:Name="zoomExtentsModifier" ClipToBounds="True" ExecuteOn="MouseDoubleClick"/>
<s:LegendModifier x:Name="legendModifier" GetLegendDataFor="AllVisibleSeries" />
</s:ModifierGroup>
</s:SciChartSurface.ChartModifier>
<s:SciChartSurface.Annotations>
<s:CustomAnnotation>
<s:CustomAnnotation.ContentTemplate>
<DataTemplate>
<s:SciChartLegend x:Name="legendControl" Margin="2,2" Orientation="Horizontal" Background="Transparent" BorderThickness="0" ScrollViewer.VerticalScrollBarVisibility="Auto"
Visibility="{Binding IsLegendVisible,Converter={StaticResource BoolToVisibilityConverter}}"
LegendData="{Binding LegendData, ElementName=legendModifier,Mode=OneWay}" >
<s:SciChartLegend.Resources>
<SciChart:ColorToBrushConverter x:Key="ColorToBrushConverter"/>
</s:SciChartLegend.Resources>
<s:SciChartLegend.ItemTemplate>
<DataTemplate DataType="SciChart:XyzSeriesInfo">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Rectangle Grid.Column="0"
VerticalAlignment="Center"
Stretch="Fill"
Width="10"
StrokeThickness="10"
Stroke="{Binding SeriesColor,
Converter={StaticResource ColorToBrushConverter}}" />
<TextBlock Grid.Column="1" Foreground="Black"
Margin="2,0,15,0"
HorizontalAlignment="Center"
Text="{Binding SeriesName}" FontWeight="Normal"/>
</Grid>
</DataTemplate>
</s:SciChartLegend.ItemTemplate>
</s:SciChartLegend>
</DataTemplate>
</s:CustomAnnotation.ContentTemplate>
</s:CustomAnnotation>
</s:SciChartSurface.Annotations>
</s:SciChartSurface>
</Grid>
</UserControl>
Hi Raphupathy,
This binding error occurs because you are deriving from LabelProviderBase not NumericLabelProvider or DateTimeLabelProvider when creating custom label providers. The remedy is to ensure that you derive from NumericLabelProvider for NumericAxis or DateTimeLabelProvider for DateTimeAxis.
This is our mistake, we changed the API without updating the documentation. Please see the updated article Overview of the LabelProvider API.
Creating your Own LabelProviders
When creating your own LabelProvider, please use one of the following base types depending on your axis type:
We have also made a fix to v3.1.0.5122 so that even if you derive from LabelProviderBase you will not receive this binding error.
Please let me know if this helps,
Best regards,
Andrew
Please login first to submit.