无法显示两个TextCell

时间:2017-08-01 11:51:51

标签: c# android xamarin

我正在尝试在TextCell组件中显示两个ListView。可以MainPage.xaml代码:

<StackLayout>

    <Button Text="Go To Map Page" Clicked="Button_OnClicked"/>

    <ListView x:Name="MyList">
        <ListView.ItemTemplate>
            <DataTemplate>
                <TextCell Text="{Binding Name}" />
                <TextCell Text="{Binding Age}" />
            </DataTemplate>

        </ListView.ItemTemplate>

    </ListView>

</StackLayout>

cs code:

namespace App20
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            MyList.ItemsSource = new List<Person>
            {
               new Person()
               {
                   Name = "Dima",
                   Age = 20
               },
               new Person()
               {
                   Name = "Roma",
                   Age = 21
               },
               new Person()
               {
                   Name = "Masha",
                   Age = 19
               }


            };
        }

        private async void Button_OnClicked(object sender, EventArgs e)
        {
            await Navigation.PushAsync(new MapPage());
        }
    }
}

如果我只显示其中一个元素(名称或年龄),则一切正常。如果我试图显示它们,我的应用程序就会挂起。

第二个问题。为什么只有TextCell有效?我尝试使用ButtonLabel并对其进行了例外处理。

以下是截图:

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

您不能在单个ListView中使用两个单元格。您可以使用TextCell的Detail属性显示第二行文本

  <DataTemplate>
    <TextCell Text="{Binding Name}" Detail="{Binding Age}" />
  </DataTemplate>

或者您可以使用ViewCell

创建自己的自定义单元格布局