Please try the next code and fill the difference when the Chart used as DataTemplate and as control.
WPF 4.0 (4.0.30319)
Telerik.Windows.Controls.Charting.dll 2011.2.725.40
Codebehind:
View
<Window.Resources>
<DataTemplate x:Key="measTemplate" x:Shared="false">
<GroupBox DockPanel.Dock="Bottom" Height="200" Header="I have a legend, but why?">
<telerik:RadChart ItemsSource="{Binding ChartData, Mode=OneWay}" >
<telerik:RadChart.DefaultView>
<telerik:ChartDefaultView>
<telerik:ChartDefaultView.ChartLegend>
<telerik:ChartLegend Visibility="Collapsed" UseAutoGeneratedItems="True" Header=" " x:Name="chartLegend">
</telerik:ChartLegend>
</telerik:ChartDefaultView.ChartLegend>
<telerik:ChartDefaultView.ChartArea>
<telerik:ChartArea LegendName="chartLegend" EnableAnimations="True">
<telerik:ChartArea.AxisX>
<telerik:AxisX />
</telerik:ChartArea.AxisX>
<telerik:ChartArea.AxisY>
<telerik:AxisY DefaultLabelFormat="F2"/>
</telerik:ChartArea.AxisY>
</telerik:ChartArea>
</telerik:ChartDefaultView.ChartArea>
</telerik:ChartDefaultView>
</telerik:RadChart.DefaultView>
<telerik:RadChart.SeriesMappings>
<telerik:SeriesMapping LegendLabel="C">
<telerik:SeriesMapping.SeriesDefinition>
<telerik:LineSeriesDefinition ShowItemLabels="False"/>
</telerik:SeriesMapping.SeriesDefinition>
<telerik:ItemMapping FieldName="ValueY" DataPointMember="YValue"/>
<telerik:ItemMapping FieldName="ValueX" DataPointMember="XValue"/>
</telerik:SeriesMapping>
</telerik:RadChart.SeriesMappings>
</telerik:RadChart>
</GroupBox>
</DataTemplate>
</Window.Resources>
<DockPanel>
<GroupBox DockPanel.Dock="Top" Height="200" Header="I have no a legend">
<telerik:RadChart ItemsSource="{Binding Context.FirstData.ChartData, Mode=OneWay}" Margin="6" >
<telerik:RadChart.DefaultView>
<telerik:ChartDefaultView>
<telerik:ChartDefaultView.ChartLegend>
<telerik:ChartLegend Visibility="Collapsed" UseAutoGeneratedItems="True" Header=" " x:Name="chartLegend1">
</telerik:ChartLegend>
</telerik:ChartDefaultView.ChartLegend>
<telerik:ChartDefaultView.ChartArea>
<telerik:ChartArea LegendName="chartLegend1" EnableAnimations="True">
<telerik:ChartArea.AxisX>
<telerik:AxisX />
</telerik:ChartArea.AxisX>
<telerik:ChartArea.AxisY>
<telerik:AxisY DefaultLabelFormat="F2"/>
</telerik:ChartArea.AxisY>
</telerik:ChartArea>
</telerik:ChartDefaultView.ChartArea>
</telerik:ChartDefaultView>
</telerik:RadChart.DefaultView>
<telerik:RadChart.SeriesMappings>
<telerik:SeriesMapping LegendLabel="C">
<telerik:SeriesMapping.SeriesDefinition>
<telerik:LineSeriesDefinition ShowItemLabels="False"/>
</telerik:SeriesMapping.SeriesDefinition>
<telerik:ItemMapping FieldName="ValueY" DataPointMember="YValue"/>
<telerik:ItemMapping FieldName="ValueX" DataPointMember="XValue"/>
</telerik:SeriesMapping>
</telerik:RadChart.SeriesMappings>
</telerik:RadChart>
</GroupBox>
<ItemsControl ItemsSource="{Binding Context.Charts}" ItemTemplate="{StaticResource measTemplate}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DockPanel>
</Window>
WPF 4.0 (4.0.30319)
Telerik.Windows.Controls.Charting.dll 2011.2.725.40
Codebehind:
public
partial
class
XAxisTest : Window
{
public
XAxisTest()
{
InitializeComponent();
InitializeComponent();
Context =
new
Context();
DataContext =
this
;
}
public
Context Context {
get
;
set
; }
}
public
class
Context
{
public
Context()
{
Charts =
new
ObservableCollection<ChartDataHolder> {
new
ChartDataHolder(1),
new
ChartDataHolder(100) };
}
public
ChartDataHolder FirstData
{
get
{
return
Charts[0];
}
}
public
ObservableCollection<ChartDataHolder> Charts {
get
;
private
set
; }
}
public
class
ChartDataHolder
{
public
ChartDataHolder(
double
delta)
{
ChartData =
new
ObservableCollection<ChartDataItem>();
for
(
int
i = 0; i < 20; i++)
{
ChartData.Add(
new
ChartDataItem() { ValueX = DateTime.Now.Second + i, ValueY = DateTime.Now.Second * delta + i });
}
}
public
ObservableCollection<ChartDataItem> ChartData {
get
;
private
set
; }
}
public
class
ChartDataItem
{
public
int
ValueX {
get
;
set
; }
public
double
ValueY {
get
;
set
; }
}
View
<
Window
>
<DataTemplate x:Key="measTemplate" x:Shared="false">
<GroupBox DockPanel.Dock="Bottom" Height="200" Header="I have a legend, but why?">
<telerik:RadChart ItemsSource="{Binding ChartData, Mode=OneWay}" >
<telerik:RadChart.DefaultView>
<telerik:ChartDefaultView>
<telerik:ChartDefaultView.ChartLegend>
<telerik:ChartLegend Visibility="Collapsed" UseAutoGeneratedItems="True" Header=" " x:Name="chartLegend">
</telerik:ChartLegend>
</telerik:ChartDefaultView.ChartLegend>
<telerik:ChartDefaultView.ChartArea>
<telerik:ChartArea LegendName="chartLegend" EnableAnimations="True">
<telerik:ChartArea.AxisX>
<telerik:AxisX />
</telerik:ChartArea.AxisX>
<telerik:ChartArea.AxisY>
<telerik:AxisY DefaultLabelFormat="F2"/>
</telerik:ChartArea.AxisY>
</telerik:ChartArea>
</telerik:ChartDefaultView.ChartArea>
</telerik:ChartDefaultView>
</telerik:RadChart.DefaultView>
<telerik:RadChart.SeriesMappings>
<telerik:SeriesMapping LegendLabel="C">
<telerik:SeriesMapping.SeriesDefinition>
<telerik:LineSeriesDefinition ShowItemLabels="False"/>
</telerik:SeriesMapping.SeriesDefinition>
<telerik:ItemMapping FieldName="ValueY" DataPointMember="YValue"/>
<telerik:ItemMapping FieldName="ValueX" DataPointMember="XValue"/>
</telerik:SeriesMapping>
</telerik:RadChart.SeriesMappings>
</telerik:RadChart>
</GroupBox>
</DataTemplate>
</Window.Resources>
<DockPanel>
<GroupBox DockPanel.Dock="Top" Height="200" Header="I have no a legend">
<telerik:RadChart ItemsSource="{Binding Context.FirstData.ChartData, Mode=OneWay}" Margin="6" >
<telerik:RadChart.DefaultView>
<telerik:ChartDefaultView>
<telerik:ChartDefaultView.ChartLegend>
<telerik:ChartLegend Visibility="Collapsed" UseAutoGeneratedItems="True" Header=" " x:Name="chartLegend1">
</telerik:ChartLegend>
</telerik:ChartDefaultView.ChartLegend>
<telerik:ChartDefaultView.ChartArea>
<telerik:ChartArea LegendName="chartLegend1" EnableAnimations="True">
<telerik:ChartArea.AxisX>
<telerik:AxisX />
</telerik:ChartArea.AxisX>
<telerik:ChartArea.AxisY>
<telerik:AxisY DefaultLabelFormat="F2"/>
</telerik:ChartArea.AxisY>
</telerik:ChartArea>
</telerik:ChartDefaultView.ChartArea>
</telerik:ChartDefaultView>
</telerik:RadChart.DefaultView>
<telerik:RadChart.SeriesMappings>
<telerik:SeriesMapping LegendLabel="C">
<telerik:SeriesMapping.SeriesDefinition>
<telerik:LineSeriesDefinition ShowItemLabels="False"/>
</telerik:SeriesMapping.SeriesDefinition>
<telerik:ItemMapping FieldName="ValueY" DataPointMember="YValue"/>
<telerik:ItemMapping FieldName="ValueX" DataPointMember="XValue"/>
</telerik:SeriesMapping>
</telerik:RadChart.SeriesMappings>
</telerik:RadChart>
</GroupBox>
<ItemsControl ItemsSource="{Binding Context.Charts}" ItemTemplate="{StaticResource measTemplate}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DockPanel>
</Window>