Я аа OxyPlot графика определяемого в моем XAML, как это:Невозможно обновить OxyPlot график после инициализации
<oxy:Plot Height="336">
<oxy:Plot.Series>
<oxy:LineSeries ItemsSource="{Binding Chart}"/>
</oxy:Plot.Series>
</oxy:Plot>
В ViewModel У меня есть следующий:
public ObservableCollection<DataPoint> Chart { get; private set; }
public MainViewModel()
{
Chart = new ObservableCollection<DataPoint>()
{ new DataPoint(12, 14), new DataPoint(20, 26) };
public void PriceChange(Model[] quotes)
{
for (int i = 0; i < quotes.Length; i++)
{
Chart.Add(new DataPoint(quotes[i].LastTradePrice, i*10));
}
}
}
Я вижу первоначальный Граф, нарисованный для первых двух жестко закодированных DataPoints.
Но после того, как все закончилось, и стрельба PriceChange()
, новые данные не отображаются на диаграмме. Поскольку его onbervableCollection он должен автоматически уведомлять пользовательский интерфейс, не так ли? Или что мне не хватает?
BTW У меня есть следующие example по документации.
Его довольно странно, как оно работает. Мне нужно было посмотреть пример «RefreshDemo», чтобы понять это. Это единственная демонстрационная версия, использующая многопоточность. Как они это делают, чтобы установить странный «RefreshFlag» следующим образом: ' ' для фактического обновления Это. Чувствует себя взломанным, но он работает. :) –
Houman
Ах, это звучит как гораздо лучший подход, вы могли бы даже назвать его ответом, хорошей работой = D – Chris