이 자습서의 예제는 다음과 같습니다. 그러나 불행히도 설명서가 너무 흐려 제대로 작동하지 않습니다. 내가 뭘하려고 오전MVVM Visiblox에서 AutoSeriesGenerator를 사용하는 방법
http://www.visiblox.com/blog/posts/2011/06/13/data-binding-with-visiblox-charts/#asg
는 기본 Y 축에 LineSeries의 것을 추가도 나를 위해 자동으로 새로운 시리즈를 만들 AutoSeriesGenerator를 사용하고 있습니다. 저는 여러분 중 일부가 Visiblox에 대해 좋은 경험을하기를 희망합니다. 여기에 내가 그들의 예는 C#으로 표현해야한다고 생각하는 방법입니다
<local:WeatherStationsData x:Key="dataCollection">
<local:WeatherStationTemperature>
<local:HourTemperature Hour="1" Temperature="10" />
<local:HourTemperature Hour="2" Temperature="14" />
</local:WeatherStationTemperature>
<local:WeatherStationTemperature>
<local:HourTemperature Hour="1" Temperature="20" />
<local:HourTemperature Hour="2" Temperature="19" />
</local:WeatherStationTemperature>
</local:WeatherStationsData>
</UserControl.Resources>
<Grid x:Name="LayoutRoot">
<charts:Chart x:Name="Chart"
charts:AutoSeriesGenerator.XValuePath="Hour"
charts:AutoSeriesGenerator.YValuePath="Temperature"
charts:AutoSeriesGenerator.ChartSeriesProvider="LineSeries"
charts:AutoSeriesGenerator.ItemsSource="{StaticResource dataCollection}">
<charts:Chart.XAxis>
<charts:LinearAxis />
</charts:Chart.XAxis>
<charts:Chart.YAxis>
<charts:LinearAxis />
</charts:Chart.YAxis>
</charts:Chart>
//X and Y points
public class ChartDataPoint
{
public DateTime X { get; set; }
public float Y { get; set; }
public ChartDataPoint(DateTime X, float Y)
{
this.X = X;
this.Y = Y;
}
}
//represents a dataseries - collection of datapoints
public class DataPointsCollection : ObservableCollection<ChartDataPoint>
{
}
//the "dataseries"
public class DataSeries : ObservableCollection<DataPointsCollection>
{
}
But it isn't working as expected.
public IChartSeries CreateSeries(object targetParent, object boundObject)
{
LineSeries lineSeries = null;
if (targetParent is LineSeries)
{
lineSeries = new LineSeries();
lineSeries.YAxis = new LinearAxis();
AxisCollection.Add(lineSeries.YAxis);
}
return lineSeries;
}
이들 문서는 targetObject는 IChartSeries 주위에 포장되어 비즈니스 개체를 말한다. 그러나 객체 대신에 내가 얻는 것은 콜렉션입니다! 그리고이 메소드는 항상 여러 번 호출됩니다. 즉, 많은 Lineseries를 생성합니다. CollectionChanged 이벤트를 시도했지만 동일한 문제입니다. 한번 불리는 것은 아니지만 여러 번 불려서 이해가되지 않습니다.
이 문제는 어떻게 해결할 수 있습니까?