wpf binding charts wpftoolkit

WPF Toolkit Charting and IndependentValueBinding, IndependentValuePath



charts wpftoolkit (1)

Creo que su aplicación se bloquea debido a que "no ha movido los datos a un modelo de objetos adecuado"

Puedo probar Binding en ScatterSeries, su funcionamiento sin bloqueos: Me gusta

<Grid Name="grid_Sample" Loaded="grid_Sample_Loaded"> <DVC:Chart Canvas.Top="80" Canvas.Left="10" Name="mcChart" Width="400" Height="250" Background="LightSteelBlue"> <DVC:Chart.Series> <DVC:ScatterSeries x:Name="TargetSeries" ItemsSource="{Binding sampleList}" IndependentValueBinding="{Binding Path=TargetSeries_X}" DependentValueBinding="{Binding Path=TargetSeries_Y}"> </DVC:ScatterSeries> </DVC:Chart.Series> </DVC:Chart> </Grid> private void grid_Sample_Loaded(object sender, RoutedEventArgs e) { sampleList = new ObservableCollection<SampleTest>() { new SampleTest(){TargetSeries_X=20,TargetSeries_Y=50}, new SampleTest(){TargetSeries_X=25,TargetSeries_Y=60}, new SampleTest(){TargetSeries_X=30,TargetSeries_Y=50}, new SampleTest(){TargetSeries_X=40,TargetSeries_Y=60} }; ((ScatterSeries)mcChart.Series[0]).ItemsSource = sampleList; }

De acuerdo con My Knowledge, intente con el modelo adecuado para enlazar ItemsSource a ScatterSeries.

Estoy enfrentando un problema con el motor de gráficos del kit de herramientas WPF.

No he movido los datos a un modelo de objeto adecuado, por lo que ItemSource está respaldado con un DataView .

Primer intento

<chartingToolkit:ScatterSeries x:Name="TargetSeries" DataPointStyle="{StaticResource TargetStyle}" ItemsSource="{Binding Path=TargetSeriesData}" IndependentValueBinding="{Binding Path=TargetSeries_X}" DependentValueBinding="{Binding Path=TargetSeries_X}" />

Esto se bloquea porque creo que los enlaces se consideran como los valores de la trama o algún tipo de desajuste.

Segundo intento

<chartingToolkit:ScatterSeries x:Name="TargetSeries" DataPointStyle="{StaticResource TargetStyle}" ItemsSource="{Binding Path=TargetSeriesData}" IndependentValuePath="{Binding Path=TargetSeries_X}" DependentValuePath="{Binding Path=TargetSeries_X}" />

Este bloqueo ocurre durante el paso de inicialización porque las propiedades de la ruta no están respaldadas con las propiedades de dependencia y, por lo tanto, no pueden vincularse

Tercer intento

<chartingToolkit:ScatterSeries x:Name="TargetSeries" DataPointStyle="{StaticResource TargetStyle}" ItemsSource="{Binding Path=TargetSeriesData}" IndependentValuePath="targetFooXColumnName" DependentValuePath="targetFooYColumnName" />

¡Ahora esto funciona! Pero quería usar el enlace para poder cambiar el uso de targetFooXColumnName al targetFooBarXColumnName . Por lo tanto, esta solución hará que un montón de código de aspecto hacky cambie la ruta manualmente.

¿Hay una manera de solucionar esto? ¿Puedo usar algún tipo de convertidor para obtener las propiedades de enlace para extraer correctamente los datos de las columnas en el DataView?

Gracias joel