Я попытался создать диаграмму в своем приложении xamarin ios mvvm, оно работает с жестко закодированными данными. когда я пытаюсь установить данные из моего API, он падает, потому что мое представление загружается до того, как мои данные загружены, поэтому он возвращает null
.
я связал это.
ошибка: Value cannot be null.
просмотр (в viewdidload):
MvxFluentBindingDescriptionSet<UserCoinsTableView, UserCoinViewModel> set = new MvxFluentBindingDescriptionSet<UserCoinsTableView, UserCoinViewModel>(this);
var control = new MvxUIRefreshControl();
TableView.AddSubview(control);
var entries = new[]
{
new Entry(1)
{
},
new Entry(1)
{
}
};
//var chart = new LineChart() { Entries = entries };
var chart = new LineChart() { Entries = (this.ViewModel as UserCoinViewModel).Entries };
var chartView = new ChartView
{
Frame = new CGRect(0, 32, this.View.Bounds.Width, 160),
AutoresizingMask = UIViewAutoresizing.FlexibleWidth,
Chart = chart
};
this.headerView.AddSubview(chartView);
set.Bind(chart.Entries).To(vm => vm.Entries);
set.Apply();
ViewModel:
public async void LoadData()
{
var entries = _CoinHistory.Select(x => new Entry(float.Parse(x.price_btc))).ToArray();
_entries = entries;
Entries = _entries;
}
dataprops:
private IEnumerable<Entry> _entries;
public IEnumerable<Entry> Entries
{
get
{
return _entries;
}
set
{
_entries = value;
RaisePropertyChanged(() => Entries);
}
}