Я использую диаграммы Visifire для отображения данных в приложении Windows Phone 7.Я создал диаграмму, которая была правильно связана со свойством зависимости.Это работало отлично.Я решил превратить диаграмму в пользовательский элемент управления, поскольку собирался использовать ее и в другом проекте с той же настройкой.Теперь моя привязка данных не работает, если я не связываю ее в коде, а не в XAML.
вот что у меня есть:
<UserControl ... x:Name="root">
...
<chart:DataSeries ... DataSource="{Binding ElementName=root, Path=Results}">
...
</UserControl>
и код позади:
public MyList Results
{
get { return (MyList)GetValue(ResultsProperty); }
set { SetValue(ResultsProperty, value); }
}
// Using a DependencyProperty as the backing store for Results. This enables animation, styling, binding, etc...
public static readonly DependencyProperty ResultsProperty =
DependencyProperty.Register("Results", typeof(MyList), typeof(MyChart), new PropertyMetadata(null));
public GoogleChart()
{
Loaded += delegate
{
// theChart.Series[0].DataSource = Results;
};
Results = new GoogleResults();
InitializeComponent();
}
Если я раскомментирую строку theChart.Series[0].DataSource = Results;
, она отлично работает.Но если я оставлю эту строку с комментариями (как я делал до того, как переместил диаграмму в UserControl), она не будет привязана.(Кстати: theChart
является x:name
родителем диаграммы. Итак, первый элемент, .Series[0]
, ссылается на диаграмму).
Кто-нибудь знает, почему это произошло?Опять же, он работал прекрасно, пока я не переместил код в UserControl.
Спасибо