This is a migrated thread and some comments may be shown as answers.

PieChart / OffsetFromCenter not working when set on databound items

1 Answer 134 Views
ChartView
This is a migrated thread and some comments may be shown as answers.
Lars-Erik
Top achievements
Rank 1
Lars-Erik asked on 10 Dec 2012, 03:24 PM
Hi, I'm having trouble getting the OffsetFromCenter property working when using databound items instead of static. 

XAML
  <telerik:RadPieChart x:Name="TestChart">
            <telerik:PieSeries ValueBinding="Value" RadiusFactor="0.77">
                <telerik:PieSeries.AngleRange>
                    <telerik:AngleRange StartAngle="270" SweepAngle="360" />
                </telerik:PieSeries.AngleRange>
                <telerik:PieSeries.SliceStyles>
                    <Style TargetType="Path">
                        <Setter Property="Fill" Value="#D95921" />
                        <Setter Property="Stroke" Value="#FFFFFF" />
                    </Style>
                </telerik:PieSeries.SliceStyles>
            </telerik:PieSeries>            
        </telerik:RadPieChart>

C#
 private void LoadDataPoints()
        {
            var series = new PieSeries();
            for (var i = 0; i < 10; i++)
            {
                series.DataPoints.Add(new PieDataPoint
                    {
                        Value = 10,
                        OffsetFromCenter = (i == 1? 0.07 : 0),
                        IsSelected = (i == 1)
                    });
            }
            TestChart.Series[0].ItemsSource = series.DataPoints;
        }


Still renders the chart with each datapoint having the same distance from center. 

br, Lars-Erik

1 Answer, 1 is accepted

Sort by
0
Nikolay
Telerik team
answered on 13 Dec 2012, 09:47 AM
Hi Lars-Erik,

The OffsetFromCenter property in your sample does not have any effect because it is not a part of the business object DataPoint, to which you have bound your chart.

In order to set it dynamically you can subscribe to the DataBindingComplete event in the following manner :
<telerik:PieSeries ValueBinding="Value" RadiusFactor="0.77"  DataBindingComplete="PieSeries_DataBindingComplete">
private void PieSeries_DataBindingComplete(object sender, EventArgs e)
        {
            (sender as PieSeries).DataPoints[1].OffsetFromCenter = 0.07;
            (sender as PieSeries).DataPoints[1].IsSelected = true;
        }

Hope this helps.

Greetings,
Nikolay
the Telerik team

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

Tags
ChartView
Asked by
Lars-Erik
Top achievements
Rank 1
Answers by
Nikolay
Telerik team
Share this question
or