Thank you.
After I change my code by sample application,SelectedItems.Count is always 1.
but these code will not behaves as expected ,i think these is a bug.
<Grid x:Name="LayoutRoot" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<telerik:RadChart Name="RadChart1" Grid.Row="0" />
<telerik:ChartArea Name="chart2" Grid.Row="1" />
</Grid>
//**********************
namespace SilverlightApplication1
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
List<ChartData> data = new List<ChartData>();
data.Add(new ChartData() { Y = 10 });
data.Add(new ChartData() { Y = 20 });
data.Add(new ChartData() { Y = 30 });
data.Add(new ChartData() { Y = 40 });
SeriesMapping sm = new SeriesMapping();
sm.SeriesDefinition = new BarSeriesDefinition();
sm.SeriesDefinition.InteractivitySettings.HoverScope = InteractivityScope.Item;
sm.SeriesDefinition.InteractivitySettings.SelectionScope = InteractivityScope.Item;
sm.SeriesDefinition.InteractivitySettings.SelectionMode = ChartSelectionMode.Single;
sm.ItemMappings.Add(new ItemMapping("Y", DataPointMember.YValue));
RadChart1.DefaultView.ChartArea.AxisY.ExtendDirection = AxisExtendDirection.None;
RadChart1.DefaultView.ChartArea.AxisY.AutoRange = false;
RadChart1.DefaultView.ChartArea.AxisY.AddRange(0, 100, 10);
RadChart1.DefaultView.ChartArea.SelectionChanged += new EventHandler<ChartSelectionChangedEventArgs>(ChartArea_SelectionChanged);
RadChart1.SeriesMappings.Add(sm);
RadChart1.ItemsSource = data;
ConfigureZong();
}
void ChartArea_SelectionChanged(object sender, ChartSelectionChangedEventArgs e)
{
// (sender as ChartArea).SelectedItems.Count is always 1
}
private Random rand = new Random(DateTime.Now.Millisecond);
private void ConfigureZong()
{
DataSeries barSeries = GetZong();
barSeries.Definition.InteractivitySettings.HoverScope = InteractivityScope.Item;
barSeries.Definition.InteractivitySettings.SelectionScope = InteractivityScope.Item;
barSeries.Definition.InteractivitySettings.SelectionMode = ChartSelectionMode.Single;
barSeries.Definition.ShowItemToolTips = true;
chart2.DataSeries.Add(barSeries);
chart2.AxisY.Title = "";
chart2.AxisY.AxisStyles.TitleStyle = Resources["CustomAxisTitleStyle"] as Style;
chart2.AxisY.ExtendDirection = AxisExtendDirection.None;
chart2.AxisY.AutoRange = false;
chart2.AxisY.AddRange(0, 35000, 5000);
}
public DataSeries GetZong()
{
DataSeries series = new DataSeries();
for (int i = 4; i > 0; i--)
{
DataPoint dataPoint = new DataPoint();
dataPoint.YValue = rand.Next(20000, 35000);
DateTime dt = DateTime.Now.AddDays(-i);
dataPoint.XCategory = dt.ToShortDateString();
series.Add(dataPoint);
}
return series;
}
}
public class ChartData
{
public double Y
{
get;
set;
}
}
}