Xamarin.Forms DataBinding im code für eine Switch-Zelle
Ich habe Folgendes Objekt:
public class Notification : INotifyPropertyChanged
{
private bool _trafficNot;
public bool TrafficNot
{
get { return _trafficNot; }
set {
if (value.Equals(_trafficNot))
return;
_trafficNot = value;
OnPropertyChanged();
}
}
private bool _newsNot;
public bool NewsNot
{
get { return _newsNot; }
set
{
if (value.Equals(_newsNot))
return;
_newsNot = value;
OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
void OnPropertyChanged([CallerMemberName]String propertyName=null)
{
var handler=PropertyChanged;
if(handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Bekomme ich die Daten von einem Objekt wie diesem:
//einrichten der notification-Objekt gemäß zu dem, was gespeichert ist in der DB
Notification Notification = new Notification
{
TrafficNot = uInfo.NotificationTraffic,
NewsNot = uInfo.NotificationNews
};
und ich will die Daten zu binden, um diese switchells
TableView tableView = new TableView
{
BindingContext = notification,
Intent = TableIntent.Form,
Root = new TableRoot
{
new TableSection
{
new SwitchCell
{
Text = "News",
BindingContext = "NewsNot"
},
new SwitchCell
{
Text = "Traffic",
BindingContext = "TrafficNot"
},
new SwitchCell
}
}
};
Was ich sonst noch tun müssen, um es zu binden?
Cheers
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie nicht binden Ansicht Eigenschaften bei allen. Anstelle der Zuordnung von text zu BindingContxt und Text-Eigenschaft, sollten Sie binden diejenigen, die Text-Eigenschaften, D. H.:
BindingContext-ist die Quelle ein Objekt, während Sie gebunden sind, gegen seine Eigenschaften. Siehe auch DataBinding-docs.