Ich habe hinzugefügt OxyPlot
Android und Core in meinem Xamarin
PCL basierten Projekt, wo ich MVVMCross
verwende.Bindung OxyPlot über MVVMCross in Xamarin.Android
Ich habe die Plotview in meinem XML wie folgt hinzugefügt. Aber ich weiß nicht, wie ich diese Ansicht mit MVVMCross binden kann.
Gibt es ein gutes Beispiel oder Ressourcen zu folgen?
MyView.xml
<oxyplot.xamarin.android.PlotView
android:id="@+id/plot"
android:layout_width="match_parent"
android:layout_height="match_parent" />
MyView.cs
public class MyView : MvxFragment<MyViewModel>
{
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var ignored = base.OnCreateView(inflater, container, savedInstanceState);
var view = this.BindingInflate(Resource.Layout.MyView, null)
MyViewModel MyMainViewModel = new MyViewModel();
var a = view.FindViewById<PlotView>(Resource.Id.plot);
a.Model = MyViewModel.MyModel;
return view;
}
}
MyViewModel.cs
public PlotModel MyModel { get; set; }
public MyViewModel
{
PlotModel mo = new PlotModel();
var s1 = new LineSeries()
{
Color = OxyColors.SkyBlue,
MarkerType = MarkerType.Circle,
MarkerSize = 6,
MarkerStroke = OxyColors.White,
MarkerFill = OxyColors.SkyBlue,
MarkerStrokeThickness = 1.5
};
s1.Points.Add(new DataPoint(0, 10));
s1.Points.Add(new DataPoint(10, 40));
s1.Points.Add(new DataPoint(40, 20));
s1.Points.Add(new DataPoint(60, 30));
mo.Series.Add(s1);
MyModel = mo;
}
Zusätzliche Informationen zur OxyPlot-Installation
Ich habe OxyPlot wie folgt über die Paketkonsole hinzugefügt.
Im PCL
PM> Install-Package OxyPlot.Core -Version 1.0.0-unstable1983 -Pre
Im Android
PM> Install-Package OxyPlot.Xamarin.Android -Pre
Oder Sie können sie auch in Nuget Konsole aus prelease Bibliothek hinzufügen.
Sie sollten wahrscheinlich eine benutzerdefinierte Bindung für dieses und jedes Mal, wenn das Modell geändert wird (RaisePropertyChanged()), machen Sie den gebundenen OxyPlot ungültig. Ungefähr, indem man das grob betrachtet. Ich denke http://stackoverflow.com/questions/10700445/in-mvvmcross-how-do-i-do-custom-bind-properties Ihnen helfen könnten, da man nur einen One-Way-Bindung benötigen sollte. Wenn Sie mehr Hilfe benötigen, werde ich versuchen, ein Beispiel zu geben. – Cyriac
Ich habe gelöscht und den Code neu aufgebaut, die ich geschrieben, es ist wie ein charm.But gearbeitet, wenn Sie mir mit der folgenden verwandten Frage helfen könnten http://stackoverflow.com/questions/38332858/oxyplot-in-recyclerview-mvvmcross -xamarin-android, wäre es so hilfreich – hotspring