大家好,又见面了,我是你们的朋友全栈君。
RadControls for Windows 8
http://www.telerik.com/help/wpf/radchartview-populating-with-data-static-data.html
RadCartesianChart chart = new RadCartesianChart();
chart.HorizontalAxis = new CategoricalAxis();
chart.VerticalAxis = new LinearAxis() { Maximum = 100 };
LineSeries line = new LineSeries();
line.Stroke = new SolidColorBrush(Colors.Blue);
line.StrokeThickness = 2;
line.DataPoints.Add(new CategoricalDataPoint() { Value = 20 });
line.DataPoints.Add(new CategoricalDataPoint() { Value = 40 });
line.DataPoints.Add(new CategoricalDataPoint() { Value = 35 });
line.DataPoints.Add(new CategoricalDataPoint() { Value = 40 });
line.DataPoints.Add(new CategoricalDataPoint() { Value = 30 });
line.DataPoints.Add(new CategoricalDataPoint() { Value = 50 });
chart.Series.Add(line);
LineSeries line2 = new LineSeries();
line2.Stroke = new SolidColorBrush(Colors.Orange);
line2.StrokeThickness = 2;
line2.DataPoints.Add(new CategoricalDataPoint() { Value = 5 });
line2.DataPoints.Add(new CategoricalDataPoint() { Value = 44 });
line2.DataPoints.Add(new CategoricalDataPoint() { Value = 3 });
line2.DataPoints.Add(new CategoricalDataPoint() { Value = 55 });
line2.DataPoints.Add(new CategoricalDataPoint() { Value = 22 });
line2.DataPoints.Add(new CategoricalDataPoint() { Value = 11 });
chart.Series.Add(line2);
this.LayoutRoot.Children.Add(chart);
提示信息:
http://www.telerik.com/help/silverlight/radchartview-features-tooltip.html
<telerik:RadCartesianChart x:Name=”radCartesianChart” Margin=”8″ Grid.Row=”2″ Grid.ColumnSpan=”2″>
<telerik:RadCartesianChart.Behaviors>
<telerik:ChartTooltipBehavior Placement=”Top” />
</telerik:RadCartesianChart.Behaviors>
<telerik:RadCartesianChart.TooltipTemplate>
<DataTemplate>
<Grid>
<Path Data=”M-1236,-441 L-1180,-441 -1180,-424 -1228,-424 -1230.5,-420 -1233,-424 -1236,-424 z”
Stretch=”Fill” Fill=”Beige” StrokeThickness=”2″/>
<StackPanel Margin=”5,5,5,18″>
<StackPanel Orientation=”Horizontal”>
<TextBlock Text=” 值:” FontWeight=”Bold” FontSize=”11″/>
<TextBlock Text=”{Binding Path=DataItem.Value}” FontWeight=”Bold” FontSize=”11″/>
<TextBlock Text=” “/>
</StackPanel>
<StackPanel Orientation=”Horizontal”>
<TextBlock Text=” 时间:” FontWeight=”Bold” FontSize=”11″/>
<TextBlock Text=”{Binding Path=DataItem.Category}” FontWeight=”Bold” FontSize=”11″/>
<TextBlock Text=” “/>
</StackPanel>
</StackPanel>
</Grid>
</DataTemplate>
</telerik:RadCartesianChart.TooltipTemplate>
//标签模板
<telerik:LineSeries ShowLabels=”True” PointTemplate=”{StaticResource PointTemplate1}”>
<telerik:LineSeries.LabelDefinitions>
<telerik:ChartSeriesLabelDefinition>
<telerik:ChartSeriesLabelDefinition.Template>
<DataTemplate>
<TextBlock Text=”MyTest”/>
</DataTemplate>
</telerik:ChartSeriesLabelDefinition.Template>
</telerik:ChartSeriesLabelDefinition>
</telerik:LineSeries.LabelDefinitions>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”10″ Value=”10″/>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”20″ Value=”20″/>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”30″ Value=”30″/>
</telerik:LineSeries>
代码:
#region //标签模板,显示标签
line.LabelDefinitions.Add(new ChartSeriesLabelDefinition { Template = (DataTemplate)XamlReader.Load(CreateItemTemplate()) });
#endregion
//点模板、标签模板、提示信息
<telerik:RadCartesianChart Margin=”10,10,8,0″ >
<telerik:RadCartesianChart.Resources>
<DataTemplate x:Key=”PointTemplate1″>
<Ellipse x:Name=”ellipse” Height=”6″ Width=”6″ Fill=”Black”/>
</DataTemplate>
</telerik:RadCartesianChart.Resources>
<telerik:RadCartesianChart.Behaviors>
<telerik:ChartTooltipBehavior Placement=”Top” VerticalOffset=”20″/>
</telerik:RadCartesianChart.Behaviors>
<telerik:RadCartesianChart.TooltipTemplate>
<DataTemplate>
<Grid>
<Path Data=”M-1236,-441 L-1180,-441 -1180,-424 -1228,-424 -1230.5,-420 -1233,-424 -1236,-424 z”
Stretch=”Fill” Fill=”Beige” Stroke=”Gray” StrokeThickness=”2″/>
<TextBlock Text=”Profit for ” FontWeight=”Bold” FontSize=”11″/>
<TextBlock Text=”{Binding Path=DataItem.Value}” FontWeight=”Bold” FontSize=”11″/>
</Grid>
</DataTemplate>
</telerik:RadCartesianChart.TooltipTemplate>
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:CategoricalAxis/>
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:LogarithmicAxis LabelOffset=”0″ LogarithmBase=”10″ LastLabelVisibility=”Visible” LineThickness=”1″ MajorTickOffset=”0″ TickThickness=”1″ ZIndex=”0″ ShowLabels=”False”/>
</telerik:RadCartesianChart.VerticalAxis>
<telerik:LineSeries ShowLabels=”True” PointTemplate=”{StaticResource PointTemplate1}”>
<telerik:LineSeries.LabelDefinitions>
<telerik:ChartSeriesLabelDefinition>
<telerik:ChartSeriesLabelDefinition.Template>
<DataTemplate>
<TextBlock Text=”MyTest”/>
</DataTemplate>
</telerik:ChartSeriesLabelDefinition.Template>
</telerik:ChartSeriesLabelDefinition>
</telerik:LineSeries.LabelDefinitions>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”10″ Value=”10″/>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”20″ Value=”20″/>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”30″ Value=”30″/>
</telerik:LineSeries>
<telerik:LineSeries ShowLabels=”True”>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”10″ Value=”50″/>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”1111″ Value=”30″/>
<telerik:CategoricalDataPoint Category=”{x:Null}” IsSelected=”False” Label=”30″ Value=”30″/>
</telerik:LineSeries>
</telerik:RadCartesianChart>
//代码添加模板
var pointTemplate = chartObject.Resources[“PointTemplate1”] as DataTemplate; //获取xaml中的模板对象
#region //标签模板,显示标签
line.LabelDefinitions.Add(new ChartSeriesLabelDefinition { Template = (DataTemplate)XamlReader.Load(CreateItemTemplate(c.ToString())) });
#endregion
private string CreateItemTemplate(string strColor)
{
string strText = string.Format(“<TextBlock Text=\”{0}\” Foreground=\”{1}\” Margin=\”0,0,0,0\”/>”, “{Binding Label}”, strColor);
StringBuilder template = new StringBuilder();
template.Append(“<DataTemplate “);
template.Append(“xmlns=’http://schemas.microsoft.com/winfx/”);
template.Append(“2006/xaml/presentation’ “);
template.Append(“xmlns:x=’http://schemas.microsoft.com/winfx/2006/xaml’>”);
//template.Append(“<Grid>”);
//template.Append(“<Path Data=\”M-1236,-441 L-1180,-441 -1180,-424 -1228,-424 -1230.5,-420 -1233,-424 -1236,-424 z\” Stretch=\”Fill\” Fill=\”Beige\” Stroke=\”Gray\” StrokeThickness=\”2\”/>”);
//template.Append(“<TextBlock Text=\”{Binding Label}\” Foreground=\”{Binding m_listColors}\” Margin=\”0,0,0,0\”/>”);
//template.Append(“</Grid>”);
template.Append(strText);
template.Append(“</DataTemplate>”);
return template.ToString();
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162012.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...