Hello,
I've some thoubles showing up the itemtooltip on a pie chart (I've also problem with other chart type), here's my code :
Here's how I bind the datas :
And here's the XAML portion :
Where am I wrong?
In the ItemToolTipOpening event for now I do
but nothing happens...
Thanks in advance
Paolo
I've some thoubles showing up the itemtooltip on a pie chart (I've also problem with other chart type), here's my code :
public AccountPositionPie(ObservableCollection<IFSforamenti.AccountPositionDetail> sforamentoDetail) |
{ |
m_SforamentoDetail = sforamentoDetail; |
InitializeComponent(); |
//This is for the tooltip on the pie |
LoadPie(); |
chartAccountPosition.DefaultSeriesDefinition.ShowItemToolTips = true; |
chartAccountPosition.DefaultSeriesDefinition.SeriesItemTooltipStyle = CustomTooltipStyle; |
chartAccountPosition.DefaultView.ChartArea.ItemToolTipDelay = 500; |
chartAccountPosition.DefaultView.ChartArea.ItemToolTipOpening += new ItemToolTipEventHandler(ChartArea_ItemToolTipOpening); |
//ChartArea1.ItemToolTipOpening += new ItemToolTipEventHandler(ChartArea_ItemToolTipOpening); |
} |
Here's how I bind the datas :
private void LoadPie() |
{ |
DataSeries dataSeries = new DataSeries(); |
dataSeries.LegendLabel = "First Series"; |
dataSeries.Definition = new PieSeriesDefinition(); |
//dataSeries.Definition = new LineSeriesDefinition(); |
//dataSeries.Definition = new DoughnutSeriesDefinition(); |
var res = m_SforamentoDetail.GroupBy(o1 => o1.ClassMifid); |
resres = res.OrderBy(o1 => o1.Key); |
foreach (IGrouping<int, IFSforamenti.AccountPositionDetail> group in res) |
{ |
DataPoint dp = new DataPoint(); |
dp.YValue = group.Sum(o1 => o1.PercOnCTV); |
dp.LegendLabel = string.Format("{0}: {1}", LabelPrefix, group.Key.ToString()); |
dataSeries.Add(dp); |
} |
chartAccountPosition.DefaultView.ChartArea.DataSeries.Add(dataSeries); |
// chartAccountPosition.DefaultView.ChartArea = ChartArea1; |
} |
And here's the XAML portion :
<UserControl xmlns:my="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Charting" x:Class="IFWebLight.Sforamenti.AccountPositionPie" |
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
xmlns:telerikCharting="clr-namespace:Telerik.Windows.Controls.Charting;assembly=Telerik.Windows.Controls.Charting" |
Width="1100" Height="300"> |
<Grid x:Name="LayoutRoot" Background="White"> |
<Grid.Resources> |
<Style x:Name="CustomTooltipStyle" TargetType="telerikCharting:ItemToolTip2D" > |
<Setter Property="OuterBorderBrush" Value="#FF767676" /> |
<Setter Property="InnerBorderBrush" Value="#FFFFFFFF" /> |
<Setter Property="Foreground" Value="#FF666666" /> |
<Setter Property="Background"> |
<Setter.Value> |
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> |
<GradientStop Color="#FFFFFFFF" Offset="0"/> |
<GradientStop Color="#FFE4E5F0" Offset="1"/> |
</LinearGradientBrush> |
</Setter.Value> |
</Setter> |
<Setter Property="BorderOpacity" Value="0" /> |
<Setter Property="Template"> |
<Setter.Value> |
<ControlTemplate TargetType="telerikCharting:ItemToolTip2D"> |
<Border x:Name="ToolTipBorder" |
BorderThickness="{TemplateBinding BorderThickness}" |
CornerRadius="3" |
BorderBrush="{TemplateBinding OuterBorderBrush}" |
Opacity="{TemplateBinding BorderOpacity}"> |
<telerikCharting:ClipPanel> |
<Border |
BorderThickness="{TemplateBinding BorderThickness}" |
CornerRadius="2" |
BorderBrush="{TemplateBinding InnerBorderBrush}" |
Background="{TemplateBinding Background}"> |
<ContentControl Padding="10" Content="{TemplateBinding Content}" Foreground="{TemplateBinding Foreground}" /> |
</Border> |
</telerikCharting:ClipPanel> |
<Border.Triggers> |
<EventTrigger RoutedEvent="Border.Loaded"> |
<EventTrigger.Actions> |
<BeginStoryboard> |
<Storyboard > |
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.6" Storyboard.TargetName="ToolTipBorder" Storyboard.TargetProperty="(UIElement.Opacity)"> |
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/> |
<SplineDoubleKeyFrame KeyTime="00:00:00.6" Value="1"/> |
</DoubleAnimationUsingKeyFrames> |
</Storyboard> |
</BeginStoryboard> |
</EventTrigger.Actions> |
</EventTrigger> |
</Border.Triggers> |
</Border> |
</ControlTemplate> |
</Setter.Value> |
</Setter> |
</Style> |
</Grid.Resources> |
<my:RadChart x:Name="chartAccountPosition"> |
<!--<telerikCharting:ChartArea x:Name="ChartArea1" |
LegendName="ChartLegend1" |
ItemToolTipOpening="ChartArea_ItemToolTipOpening" |
Margin="0,0,0,10"/>--> |
</my:RadChart> |
</Grid> |
</UserControl> |
Where am I wrong?
In the ItemToolTipOpening event for now I do
void ChartArea_ItemToolTipOpening(ItemToolTip2D tooltip, ItemToolTipEventArgs e) |
{ |
tooltip.Content = "5"; |
} |
but nothing happens...
Thanks in advance
Paolo