0
我創建了一個Chart控件,過了一段時間後,我決定向它添加多重功能。ObservableCollection作爲DependenceProperty和綁定問題
private static DependencyPropertyKey SeriesPropertyKey = DependencyProperty.RegisterReadOnly("Series", typeof(ObservableCollection<ChartSerie>), typeof(Chart), new FrameworkPropertyMetadata(new ObservableCollection<ChartSerie>()));
public static DependencyProperty SeriesProperty = SeriesPropertyKey.DependencyProperty;
我使用XAML調用它這樣該屬性:我使用ObservableCollection<ChartSerie>
類型的像這樣的相依性實現的功能
<chart:Chart>
<chart:Chart.Series>
<chart:ChartSerie Data="{Binding ChartData1}"/>
<chart:ChartSerie Data="{Binding ChartData2}" />
</chart:Chart.Series>
</chart:Chart>
的ChartSerie代碼只是ChartData的容器:
public static DependencyProperty DataProperty = DependencyProperty.Register("Data", typeof(ObservableCollection<ChartPoint>), typeof(ChartSerie), new FrameworkPropertyMetadata(OnDataChanged));
我面臨的問題是,ChartSerie情況下不被填充了綁定數據的到來。他們的Data屬性始終設置爲null。我在visual studio的輸出沒有綁定錯誤。
在此先感謝。
編輯:挖了一下看起來像這裏有一個真正的綁定問題。看起來圖表的DataContext不被ChartSerie繼承。 ChartSerie是FrameworkElement的,以防萬一這個重要
嗯......你有什麼暗示,爲什麼這種需要?無論如何,我會檢查。最初我將泛型集合公開爲圖表的單一依賴屬性(只是一個系列的數據,而不是系列列表)並且它正在工作。 –
我替換了集合,現在我看到綁定問題,你能檢查我的編輯嗎?謝謝! –
您應該在第一個問題中將我指向您的博客文章:)再次感謝Kent。 –