0

私はシルバーライトでこの単純なチャートを持っています:

<toolkit:Chart HorizontalAlignment="Left" Margin="0,10,0,0" Title="Chart Title" VerticalAlignment="Top" Height="280" Width="390" Name="MyChart">
            <toolkit:ColumnSeries DependentValuePath="X" IndependentValuePath="Y">
                <toolkit:ColumnSeries.ItemsSource>
                    <PointCollection x:Name="PointColl">
                        <Point>1,10</Point>
                        <Point>2,20</Point>
                        <Point>3,30</Point>
                        <Point>4,40</Point>
                    </PointCollection>
                </toolkit:ColumnSeries.ItemsSource>
            </toolkit:ColumnSeries>
        </toolkit:Chart>

そして、次のようにコードでデータバインディングをセットアップします。

        private ObservableCollection<Point> _myPointCollection = new ObservableCollection<Point>();
        public ObservableCollection<Point> MyPointCollection { get { return _myPointCollection; } }

        public MainPage()
        {
            InitializeComponent();

            rand = new Random(); 

            MyPointCollection.Add( new Point(0, rand.Next(0, 50)));
            MyPointCollection.Add( new Point(0, rand.Next(1, 50)));    
            MyPointCollection.Add( new Point(0, rand.Next(2, 50)));
            MyPointCollection.Add( new Point(0, rand.Next(3, 50)));

            MyChart.DataContext = this;
        }

しかし、xaml のどこでデータをバインドする場所を教えてくれるのでしょうか?

4

1 に答える 1

1

試す:

<toolkit:Chart HorizontalAlignment="Left" Margin="0,10,0,0" Title="Chart Title" VerticalAlignment="Top" Height="280" Width="390" Name="MyChart">
        <toolkit:ColumnSeries DependentValuePath="X" IndependentValuePath="Y" ItemsSource={Binding MyPointCollection}>

    </toolkit:Chart>

ただし、MyPointCollection プロパティ全体を変更したときにグラフを更新する場合は、PropertyChanged イベントを発生させる必要があります。コレクションにポイントを追加または削除するときに、それを行う必要はありません。

于 2013-04-11T10:03:09.083 に答える