Ich habe eine Xamarin Forms App. Es gibt 2 Klassen mit Daten, eine der Seiten füllt die Daten.Xamarin Formulare - Übergabe von Daten zwischen Seiten und Ansichten
Das Problem ist: Ich erstelle eine neue Ansicht, die Daten aus beiden Klassen verwenden soll.
Die einzige Art, wie ich mit vertraut bin, ist eine Klasse als bindingContext
einstellen Daten zwischen den Seiten zu übergeben, und es funktioniert gut mit ONE Klasse, weil es offenbar nicht 2 bindingContext
zugleich sein könnte.
Beispiel:
1. Klasse (alle Klassen auf der vorherigen Seite gefüllt sind einfach zu akzeptieren, dass sie gefüllt sind.)
public class Buildings : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _id;
public string Id
{
get { return _id; }
set
{
_id = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Id"));
}
}
}
2. Klasse
public class Flats : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string _num;
public string Num
{
get { return _num; }
set
{
_num = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Num"));
}
}
}
neue Ansicht:
public partial class HouseView
{
private Flats _flats;
private Buildings _buildings;
public HouseView()
{
InitializeComponent();
}
private void HouseView_OnBindingContextChanged(object sender, EventArgs e)
{
var building = BindingContext as Building;
//var flat = BindingContext as Flat;
//_flat = flat;
_building = building;
var buildingInfo = await Rest.GetHouseInfo(_building.Id, _flat.Num); //function that will return info on a current house;
// rest code
}
}
Vielleicht ist kein Bindekontext notwendig, weil ich nur die Parameter übergebe und sie nicht in einer Ansicht ändere? Ich denke, die Lösung kann ziemlich einfach sein, und ich kann es nicht herausfinden ....
Ihre Situation ist mir unklar. Können Sie ein Beispiel geben? Wo benutzt du die Klassen, wie viele Seiten hast du? Je nachdem, was Sie tatsächlich erreichen möchten, gibt es mehrere Lösungen. –
können Sie Daten über den Konstruktor, eine öffentliche Eigenschaft, eine öffentliche Methode usw. an eine Klasse/Sicht übergeben - es gibt viele Möglichkeiten, sich ihr zu nähern. Es ist nicht klar, was genau das Problem ist, das Sie haben. – Jason