ListView.GroupDisplayBinding Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the binding to use for displaying the group header.
public Xamarin.Forms.BindingBase GroupDisplayBinding { get; set; }
member this.GroupDisplayBinding : Xamarin.Forms.BindingBase with get, set
Property Value
The BindingBase instance to apply to grouped lists, or null
.
Examples
This example shows an alphabetized list of people, grouped by first initial with the display binding set.
class Person
{
public string FullName
{
get;
set;
}
public string Address
{
get;
set;
}
}
class Group : ObservableCollection<Person>
{
public Group (string firstInitial)
{
FirstInitial = firstInitial;
}
public string FirstInitial
{
get;
private set;
}
}
ListView CreateListView()
{
var listView = new ListView {
IsGroupingEnabled = true,
GroupDisplayBinding = new Binding ("FirstInitial"),
GroupShortNameBinding = new Binding ("FirstInitial")
};
var template = new DataTemplate (typeof (TextCell));
template.SetBinding (TextCell.TextProperty, "FullName");
template.SetBinding (TextCell.DetailProperty, "Address");
itemsView.ItemTemplate = template;
itemsView.ItemsSource = new[] {
new Group ("C") {
new Person { FullName = "Caprice Nave" }
},
new Group ("J") {
new Person { FullName = "James Smith", Address = "404 Nowhere Street" },
new Person { FullName = "John Doe", Address = "404 Nowhere Ave" }
}
};
}
Remarks
This binding can be used to simply set a the text of the group headers without defining a full template and uses the default visuals of the platform to display it. The binding is applied to the System.Collections.IEnumerable of the group.
This property is mutually exclusive with GroupHeaderTemplate property. Setting it will set GroupHeaderTemplate to null
.