2017-06-21 25 views
0

Wenn wir ein Objekt binden wir tun es wie folgt aus:Xamarin Forms - Bindung

label.setBinding(Label.TextProperty, "task"); 

Die Sache ist, dass ich eine Variable, die einen Wert „Aufgabe“, basierend auf dem Wert es wird genannt wird ("Ja" oder "nicht") Ich deaktiviere eine Ansicht von meiner Viewcell, aber ich kann den Wert der Label-Im-Bindung nicht erhalten, um die Vergleiche zu machen, also ist es möglich, eine Variable vom String-Typ zu binden?

Antwort

0

ist die Code-Folge mit dem Etikett zu binden und zeigen, oder die auf dem Wert der Aufgabe, basierend Ansicht verstecken

public SamplePage() 
    { 
     BindingContext = this; 
     InitializeComponent(); 
     label.SetBinding(Label.TextProperty, "Task"); 
     view.SetBinding(View.IsVisibleProperty, "Visibility"); 
    } 

    string task ="Yes"; 
    public string Task 
    { 
     get { return task; } 
     set { 
      task = value; 
      Visibility = task == "Yes" ? true : false; 
     } 
    } 

    public bool Visibility { get; set; } 
0

Sure Sie String-Wert zu Label.TextProperty binden können. Ich würde empfehlen, es auf diese Weise zu binden, meiner Meinung nach ist es klarer Weg.

label.SetBinding<YourBindingContextTypeName>(Label.TextProperty, vm => vm.Task); 

P.S.

Denken Sie daran, die Ansicht über Änderungen an der Ansichtsmodelleigenschaft zu benachrichtigen. Dies kann auf verschiedene Arten geschehen. Read this für weitere Informationen.