2016-07-11 17 views
6

MVVMCross kullanıyorum Xamarin PCL tabanlı projeme Android ve Core ekledim.Xamarin.Android'te MVVMCross üzerinden OxyPlot Bağlama

Plot görünümünü aşağıdaki gibi xmlimde ekledim. Ancak MVVMCross kullanarak bu görünümü nasıl bağlayacağımı bilmiyorum.

Takip edilecek iyi bir örnek veya kaynak var mı?

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; 
} 

OxyPlot yüklemesi için Ek Bilgi

OxyPlot'ı Paket Konsolundan aşağıdaki gibi ekledim. Android

PM> Install-Package OxyPlot.Xamarin.Android -Pre 

yılında PCL

PM> Install-Package OxyPlot.Core -Version 1.0.0-unstable1983 -Pre 

yılında

Ya da prelease kitaplığından Nuget Konsolu ekleyebilirsiniz.

+0

Bunun için özel bir ciltleme yapmalısınız ve model her değiştiğinde (RaisePropertyChanged()), bağlı OxyPlot'u geçersiz kılarsınız. Atleast kabaca buna bakarak. http://stackoverflow.com/questions/10700445/in-mvvmcross-how-do-i-do-custom-bind-properties'in size yardımcı olabileceğini düşünüyorum çünkü yalnızca Tek Yönlü bir bağlamaya ihtiyacınız var. Daha fazla yardıma ihtiyacınız varsa, bir örnek oluşturmaya çalışacağım. – Cyriac

+0

Gönderdiğim kodu sildim ve yeniden oluşturdum, bir çekicilik gibi çalıştı.Aşağıdaki soruyla bana yardımcı olabilirseniz http://stackoverflow.com/questions/38332858/oxyplot-in-recyclerview-mvvmcross -xamarin-android, o kadar yararlı olurdu – hotspring

cevap

İlgili konular