2010-06-02 19 views
18

Tengo un problema con el motor de gráficos del kit de herramientas WPF.WPF Toolkit Charting y IndependentValueBinding, IndependentValuePath

No he movido los datos a un modelo de objeto adecuado, por lo que el 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 son considerados como los valores para el argumento 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 accidente ocurre durante la etapa de inicialización debido a las propiedades de ruta no están respaldados con las propiedades de dependencia y por lo tanto no pueden ser obligados.

tercer intento

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

Ahora bien, esto funciona! Pero quería usar el enlace, así que puedo pasar del targetFooXColumnName al targetFooBarXColumnName. Por lo tanto, esta solución provocará que un montón de código de apariencia hacky cambie manualmente de ruta.

¿Hay alguna manera de arreglar 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

+0

¿Cómo se ve su contexto de datos? Agrega las clases a tu pregunta. –

+0

El código ha sido completamente reescrito en los últimos 3 años. –

+5

LOL No había notado que era una pregunta tan vieja. Extraño apareció en la parte superior de la pestaña sin respuesta. –

Respuesta

0

creo que su aplicación estrellarse en la razón es "no ha movido los datos a un modelo de objeto propio"

puedo tratar de encuadernación en ScatterSeries su trabajo con los accidentes fuera: al igual que

<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 a mi conocimiento por favor, intente con el modelo adecuado para la unión a ItemsSource ScatterSeries.

Cuestiones relacionadas