2
我在Xamarin Android刷新Oxyplot圖時遇到問題。我正在使用Model.InvalidatePlot(true),但仍然無法正常工作。Xamarin Android Oxyplot刷新不起作用
在我的ViewModel中,我有屬性PlotModel和刷新方法如下代碼。 GroupSales是我的GroupSale的MvxObservableCollection。
public void RefreshTest()
{
GroupSales.Clear();
var groupSales = DemoData.GetGroupSaleList(_shop.Id);
groupSales.Add(new GroupSale()
{
Name = "Test",
Sum = 5555,
Color = Constants.DefaultColor
});
foreach (var item in groupSales)
{
GroupSales.Add(item);
}
Model = OxyPlotModelCreator.GetGroupSalesModel(GroupSales);
Model.InvalidatePlot(true);
}
private PlotModel _model;
public PlotModel Model
{
get { return _model; }
set
{
_model = value;
RaisePropertyChanged(() => Model);
}
}
後調用方法RefreshTest我MvxObservableCollection更新和型號太多,但仍在尋找中取景。只有當Im改變移動方向時,它的更新(cuz Im使用兩個視圖來處理縱向和橫向,以便再次初始化),但是我需要在點擊Refresh按鈕後刷新PlotModel。
我想已經調用Android的碎片這種方法和Invalidete PlotView和型號如下:
Button button = _view.FindViewById<Button>(Resource.Id.refreshButton);
button.Click += delegate
{
ViewModel.RefreshTest();
if (plotView != null && ViewModel.Model != null)
{
plotView.InvalidatePlot(true);
plotView.Invalidate();
plotView.RefreshDrawableState();
plotView.Model.InvalidatePlot(true);
}
};
但仍然does not工作....有人能幫助我嗎?
編輯
我初始化模型片段是這樣的:
var plotView = _view.FindViewById<PlotView>(Resource.Id.groupSalesModel);
if (plotView != null && ViewModel.Model != null)
{
plotView.Model = ViewModel.Model;
}