2010-06-02 13 views
18

मुझे डब्ल्यूपीएफ टूलकिट से चार्टिंग इंजन के साथ समस्या का सामना करना पड़ रहा है।डब्ल्यूपीएफ टूलकिट चार्टिंग और इंडिपेंडेंट वैल्यू बाइंडिंग, इंडिपेंडेंट वैल्यूपैथ

मैंने डेटा को उचित ऑब्जेक्ट मॉडल में स्थानांतरित नहीं किया है, इसलिए ItemSource को DataView के साथ समर्थित किया गया है।

प्रथम प्रयास

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

यह दुर्घटनाओं क्योंकि मेरा मानना ​​है कि बाइंडिंग प्लॉट या बेमेल किसी प्रकार के मूल्यों के रूप में माना जाता है।

दूसरा प्रयास

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

यह क्रैश आरंभीकरण चरण में क्या होता है क्योंकि पथ गुण निर्भरता गुणों के साथ समर्थित नहीं हैं और इसलिए बाध्य नहीं किया जा सकता।

तीसरे प्रयास

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

अब इस काम करता है! लेकिन मैं बाध्यकारी का उपयोग करना चाहता था ताकि मैं targetFooBarXColumnName पर स्विच कर सकूं। तो यह समाधान पथ को मैन्युअल रूप से स्विच करने के लिए एक बहुत सारे हैकी दिखने वाले कोड का कारण बन जाएगा।

क्या इसे ठीक करने का कोई तरीका है? क्या मैं कुछ प्रकार के कनवर्टर का उपयोग कर सकता हूं ताकि बाध्यकारी गुण डेटाव्यू में कॉलम से डेटा को सही तरीके से खींच सकें?

धन्यवाद, योएल

+0

आपका डेटा संदर्भ कैसा दिखता है? कक्षाओं को अपने प्रश्न में जोड़ें। –

+0

कोड पिछले 3 वर्षों में पूरी तरह से लिखा गया है। –

+5

एलओएल मैंने नहीं देखा था कि यह इतना पुराना सवाल था। अजीब यह अनुत्तरित टैब के शीर्ष पर पॉप अप किया। –

उत्तर

0

मुझे लगता है कि आपके आवेदन कारण दुर्घटनाग्रस्त कि "आप एक उचित ऑब्जेक्ट मॉडल के लिए डेटा स्थानांतरित नहीं किया है"

मैं ScatterSeries इसके बाहर दुर्घटनाओं के साथ काम करने में बाध्यकारी कोशिश कर सकते हैं: जैसा

<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; 
    } 

मेरी जानकारी के अनुसार ScatterSeries को ItemsSource बंधन के लिए उचित मॉडल के साथ प्रयास करें।

संबंधित मुद्दे