1

Ich verwende derzeit die CustomRadioButton Komponente von XLabs. Ich habe aus dem Beispiel gelernt, dass Sie den Text über die Optionsschaltflächen festlegen können, indem Sie der ItemsSource-Eigenschaft der BindableRadioGroup ein Zeichenfolgenarray zuweisen.Xamarin Formen - XLabs CustomRadioButton: ItemsSource

Beispiel:

BindableRadioGroup buttonGroup = new BindableRadioGroup(); 
ansPicker.ItemsSource = new[] 
     { 
      "Red", 
      "Blue", 
      "Green", 
      "Yellow", 
      "Orange" 
     }; 

Nun würde Ich mag jetzt, wenn es möglich ist, die gleiche Sache mit einem Objekt zu tun.

Beispiel:

public class Person { 
    private string name; 
    private int age; 
} 

Wenn ich eine Liste dieser Person Gegenstand haben, kann ich geben es direkt an die Itemssource-Eigenschaft des BindableRadioGroup? Wie definiere ich, welches Attribut im CustomRadioButton angezeigt wird?

fand ich diese Methode für eine Listview, aber in meinem Fall, ich kann die ItemTemplate-Eigenschaft für das BindableRadioGroup nicht gefunden:

var template = new DataTemplate (typeof (TextCell)); 
// We can set data bindings to our supplied objects. 
    template.SetBinding (TextCell.TextProperty, "FullName"); 
    template.SetBinding (TextCell.DetailProperty, "Address"); 

    itemsView.ItemTemplate = template; 
    itemsView.ItemsSource = new[] { 
    new Person { FullName = "James Smith", Address = "404 Nowhere Street" }, 
    new Person { FullName = "John Doe", Address = "404 Nowhere Ave" } 
    }; 

Dank.

Antwort

2

BindableRadioGroup ist eigentlich von einem StackLayout abgeleitet, so glaube ich nicht, dass Sie in der Lage sein werden, eine DataTemplate zu verwenden.

Ohne dies getestet zu haben, könnten Sie zwei Dinge ausprobieren. Mit Blick auf die code, wird Item.ToString() in OnItemsSourceChanged festgelegt. Sie könnten ein ToString() für Ihr Objekt definieren.

Alternativ können Sie die Erstellung jedes CustomRadioButton selbst behandeln, jede Eigenschaft Bindung wie Checked und Text und manuell hinzufügen jedes CustomRadioButton zu Ihrem BindableRadioGroup Objekt.

Verwandte Themen