将多个属性绑定到Xamarin ListView

时间:2018-11-29 20:28:57

标签: c# listview xamarin

有没有一种方法可以向ListView中的多个属性添加多个绑定? 我目前在xaml中有以下代码:

<ListView x:Name="ItemsListView">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <ViewCell.View>
                        <StackLayout Orientation="Horizontal">
                            <Label Text="{Binding .}"></Label>
                            <Button Text="{Binding Button}"></Button>
                        </StackLayout>
                    </ViewCell.View>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

现在,我可以使用以下C#代码将Label中的文本绑定:

ItemsListView.ItemsSource = names; //names being a string array

上面的代码可与Label一起使用,但我似乎无法找出如何绑定按钮文本。 帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

你在这里。

 <ListView x:Name="ItemsListView">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <ViewCell.View>
                            <StackLayout Orientation="Horizontal">
                                <Label Text="{Binding Name}"></Label>
                                <Button Text="{Binding ButtonName}"></Button>
                            </StackLayout>
                        </ViewCell.View>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

然后对这两个属性进行分类。

public class ListClass
{
    public string Name { get; set; }
    public string ButtonName { get; set; }
}

初始化页面中的列表。

List<ListClass> lists = new List<ListClass>()
        {
            new ListClass(){ Name = "John" , ButtonName = "Submit"},
            new ListClass(){ Name = "Alexa" , ButtonName = "Click"}
        };

最后将其绑定到ItemsSource。

ItemsListView.ItemsSource = lists;