私の Windows 8 アプリには、次のような RadCartesianChart があります。
<telerikChart:LineSeries ItemsSource="{Binding GraphData, Mode=TwoWay}" ShowLabels="True">
<telerikChart:LineSeries.CategoryBinding>
<telerikChart:PropertyNameDataPointBinding PropertyName="Category" />
</telerikChart:LineSeries.CategoryBinding>
<telerikChart:LineSeries.ValueBinding>
<telerikChart:PropertyNameDataPointBinding PropertyName="Value" />
</telerikChart:LineSeries.ValueBinding>
</telerikChart:LineSeries>
このコレクションにバインドされています:
public ObservableCollection<Data> GraphData
{
get { return _graphData; }
set
{
if (_graphData != value)
{
_graphData = value;
RaisePropertyChanged(() => GraphData);
}
}
}
次のオブジェクトが含まれています。
public class Data : ViewModelBase
{
private string _category;
private int _value;
public string Category
{
get { return _category; }
set
{
if (_category != value)
{
_category = value;
RaisePropertyChanged(() => Category);
}
}
}
//etc
}
RadCartesianChart はいくつかのデフォルト データにバインドされていますが、実行時にこのデータを置き換えたいと考えています。しかし、どういうわけか私はこれを機能させることができません...私はすでに単純に次のようなことを試みました:
GraphData = new ObservableCollection<Data>(someData);
私はこのようなことをしてみました:
GraphData.Clear();
GraphData.Add(object1);
GraphData.Add(object2);
//etc
しかし、グラフは更新されません。これはおそらく ObservableCollection の問題であることは認識していますが、機能させることはできません。
私はMVVM Light ViewModelBase
btwを使用しています。誰にも解決策がありますか?