Geçtiğimiz birkaç hafta boyunca MVVMCross çerçevesini kullanarak bir çapraz platform uygulaması (IOS/Android/WP7) geliştirmek için çalışıyorum. Bugün bir problemle karşılaştım, gerçekten nasıl çözeceğimi bilmiyorum, o yüzden umarım doğru yönde beni zorlayabilirsin. IOS yılındaViewModel değişkenlerinden başka bir Görünüme geçme (MVVMCross)
Ben (kod altında bir ViewModel bulunur) başka bir sayfaya gitmeye ilişkin inşaat vardır:
bu IMvxCommand ateşlenirKeyValuePair<string,string> kvpAct1 = new KeyValuePair<string, string>("short", ".countertest5");
public IMvxCommand BeckhoffActuator1
{
get
{
return new MvxRelayCommand<Type>((type) => this.RequestNavigate<Beckhoff.BeckhoffActuatorViewModel>(kvpAct1));
}
}
(düğmesine basıldığında) aşağıdaki Görünüm yüklenir, bu durumda BeckhoffActuatorViewModel.
public class BeckhoffActuatorView : MvxTouchDialogViewController<BeckhoffActuatorViewModel>
{
ICollection<string> icol;
public BeckhoffActuatorView(MvxShowViewModelRequest request) : base(request, UITableViewStyle.Grouped, null, true)
{
icol = request.ParameterValues.Values;
}
public override void ViewDidLoad()
{
//Code
}
}
Bu yapı IOS iyi çalışıyor, ama benim android App aynı yapıya kullanmak istiyorum: BeckhoffActuatorView kodu ben yukarıdan KeyValuePair kullanın.
ViewModel'deki kod, MVVM'nin tümüyle ilgili olduğu için değişmedi. Ama BackhoffActuatorView kod Android için farklıdır: Yukarıdaki kod çalışmıyor
public class BeckhoffActuatorView : MvxBindingActivityView<BeckhoffSensorViewModel>
{
public ICollection<string> icol;
public BeckhoffActuatorView()
{
Debug.WriteLine("Standard");
}
public BeckhoffActuatorView(MvxShowViewModelRequest request)
{
Debug.WriteLine("Custom");
icol = request.ParameterValues.Values;
}
protected override void OnViewModelSet()
{
SetContentView(Resource.Layout.BeckhoffActuatorView);
}
}
, MvxBindingActivityView ben IOS kullanmak viewController benzer bir şey uygulamak için görünmüyor. Kod sadece standart kurucuda gelir ve ben bunu tamamen çıkardığımda derleme/çalıştırma olmaz.
RequestNavigate ile gönderdiğim keyvaluepair'e erişebileceğimi bilen var mı? Teşekkür ederim!
Teşekkür ederim Stuart, Twitter örneğini kullanarak sorunumu düzeltmeyi başardım! – David
İyi iş - başka bir parametre geçişine ihtiyacınız varsa, o zaman CustomerManagement ve Kitaplar örneklerini de deneyebilirsiniz :) – Stuart