I am trying write a template to Legend control. I have version 10.3, .net 4, xamDataChart, with a few line series.
My Legend is Horizontal and I want this to wrap when i have many items(series). Something thing like tab control showing multiple lines. Is this possible? I have to have my Legend at the Top.
I have custom Legend template and Legendtemplateitem, but it's not working. I just comented the ScrowViewer and replace this for a WrapPanel.
Any Help is welcome.
<ControlTemplate x:Key="xamDataChartLegendTemplate" TargetType ="Charts:Legend">
<Grid>
<Border BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="4" Background="{TemplateBinding Background}">
<Grid Margin="{TemplateBinding Padding }">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ContentPresenter Grid.Row="0" Content="{TemplateBinding Content}" />
<!--<ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="auto" VerticalScrollBarVisibility="auto" BorderThickness="0" Background="Transparent">-->
<WrapPanel Orientation="Horizontal" Grid.Row="1">
<ContentPresenter Grid.Row="1" x:Name="ContentPresenter" />
</WrapPanel>
<!--</ScrollViewer>-->
</Grid >
</Border>
<Border IsHitTestVisible="False" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="Transparent" CornerRadius="4" Background="{StaticResource GenericOverlay}" />
</Grid>
</ControlTemplate>
<
DataTemplate x:Key="xamDataChartCustomLegendItemTemplate">
.Visibility}">
.LegendItemBadgeTemplate}" />
}"/>
Hello,
Thank you for your post. I have been looking into it, but I wasn’t able to reproduce your behavior, so if this is still an issue for you, could you please send me an isolated sample project, where this is reproduced, so I can investigate it further for you.
Looking forward for your reply.
Hi Stefan,
I have attached a sample project showing that.
I want the legend to show all the series data.
Any help is welcome.
Regards,
Jorge Arteiro
After some research Ability yo set the Legend's Items' panel has been determine as a new Product Idea. I have sent your Product Idea directly to our product management team. Our product team chooses new Product Ideas for development based on popular feedback from our customer base. Infragistics continues to monitor application development for all of our products, so as trends appear in requested ideas, we can plan accordingly.
We value your input, and our philosophy is to enhance our toolset based on customer feedback. If your idea is chosen for development, you will be notified at that time. Your reference number for this Product Idea is PI12060038
If you would like to follow up on your Product Idea at a later point, you may contact Developer Support management via email. Please include the reference number of your Product Idea in the subject and body of your email message. You can reach Developer Support management through the following email address: dsmanager@infragistics.com
Hi,
What is the status of this Product Idea - PI12060038.
Has this been incorporated in any of the release?
Hello Varun,
This Product Idea hasn't been implemented yet, but we will try to revisit it for the first version that will be shipped next year (13.1).
I am new Infragistics and I am trying to simply plot a 2 line series on the XamDataChart and show the legend for the two series through C# programming. Unfortunately the legend doesn't come up at all. Can I know what the reason might be. I am exactly using the same code as the given in the online documentation. Below is the code I am using. I would really appreciate if you could help me with this.
Thanks.
SimpleDataCollection data = new SimpleDataCollection(); XamDataChart DataChart = new XamDataChart(); Legend leg = new Legend { Content = "Legend", Margin = new Thickness(20), VerticalAlignment = VerticalAlignment.Top, HorizontalAlignment = HorizontalAlignment.Right }; DataChart.Margin = new Thickness(5); DataChart.DataContext = data;
// XAxis CategoryXAxis xmXAxis = new CategoryXAxis(); xmXAxis.Interval = 50; xmXAxis.ItemsSource = data; xmXAxis.Label = "{Label}";
// YAxis NumericYAxis xmYAxis = new NumericYAxis(); DataChart.Axes.Add(xmXAxis); DataChart.Axes.Add(xmYAxis);
// Series LineSeries series = new LineSeries(); series.ValueMemberPath = "Value"; series.XAxis = xmXAxis; series.YAxis = xmYAxis; series.ItemsSource = data; series.Title = "Navya"; series.Legend = leg;
LineSeries series1 = new LineSeries(); series1.ValueMemberPath = "Value"; series1.XAxis = xmXAxis; series1.YAxis = xmYAxis; series1.ItemsSource = data; series1.Title = "nnn"; series1.Legend = leg; DataChart.Legend = leg; DataChart.Legend.Visibility = Visibility.Visible; DataChart.Series.Add(series); this.LayoutRoot.Children.Add(DataChart);
I have been looking into your post and I can say that you have to add the Legend object to the Visual tree as well as the XamDataChart, so I can suggest you add the following code at the end of the one you have shared:
this.LayoutRoot.Children.Add(leg);
Hope this helps you.
This feature is not yet implemented, but you can use a workaround. You can inherit the LegendBase class and create your own legend. I attached a sample project showing how to do so.
I need this also, I need to be able to change the item panel from the default stackpanel to something else. Any word on when this will be made available? This is a pretty normal feature.
any response.
is this product idea implemented ? i am running into the same problem , need to wrap items instead of one item per line in vertical orientation.
I can say that the Legend is separate element from the XamDataChart. In order to make the Legend render over the chart you have to add it to the Visual Tree after you add the chart and I can suggest you add the Chart and the Legend in a DockManager or Grid, so you can organize them as you want. In the Feature Browser under xamDataChart / Display – Legends / Legend Docking section there is a sample demonstrating how to place the Legend.