मुझे वीएस -2010 के साथ काम करने के लिए दो चीजें करना पड़ा। पहला यह था कि चार्टबेस के लिए डेटाकॉन्टेक्स्ट सेट करते समय डाटाबेसिंग लाया नहीं जा रहा था। इसके परिणामस्वरूप साजिश करने के लिए कोई डेटा नहीं था।
private void OnSeriesSourceChanged(IEnumerable oldValue, IEnumerable newValue)
{
this.Series.Clear();
if (newValue != null)
{
foreach (object item in newValue)
{
if (SeriesTemplate != null)
{
ChartSeries series = LoadDataTemplate<ChartSeries>(SeriesTemplate, item);
if (series != null)
{
// set data context
series.DataContext = item;
this.Series.Add(series);
}
}
}
}
UpdateGroupedSeries();
}
private static T LoadDataTemplate<T>(DataTemplate template, object dataContext)
where T : FrameworkElement
{
DependencyObject element = template.LoadContent();
T view = element as T;
view.DataContext = dataContext;
var enumerator = element.GetLocalValueEnumerator();
while (enumerator.MoveNext())
{
var bind = enumerator.Current;
if (bind.Value is BindingExpression)
{
view.SetBinding(bind.Property, ((BindingExpression)bind.Value).ParentBinding);
}
}
return view;
}
दूसरा मैं था सही Generic.xaml फ़ाइल सहित करने के लिए परियोजना को बदलने के लिए: कि मैं LoadDataTemplate है कि तब सामग्री लोड करता है के माध्यम से लूप और सभी databindings सेट का उपयोग करने के ChartBase.OnSeriesSourceChanged बदल ठीक करने के लिए। De.TorstenMandelkow.MetroChart.WPF/थीम्स के तहत एक का उपयोग करना सुनिश्चित करें। इसे बेसचर्ट स्टाइल को शामिल करने की आवश्यकता है।
एचटीएच
स्रोत
2013-03-28 15:52:19