Xamarin Forms中的可扩展ListView

时间:2015-06-01 18:42:18

标签: c# listview xamarin xamarin.forms

我有以下代码使用Xamarin Forms显示ListView:

App.cs

public App ()
{
    MainPage = GetMainPage();
}

public static Page GetMainPage()
{
    return new NavigationPage(new DrilldownListViewByItem());
}

DrilldownListViewByItem:

public class DrilldownListViewByItem : ContentPage
{
    public DrilldownListViewByItem()
    {
        Title = "Drilldown List Using ListView";
        var listView = new ListView();
        listView.ItemsSource = new ListItem[] {
            new ListItem {Title = "First", Description="1st item"},
            new ListItem {Title = "Second", Description="2nd item"},
            new ListItem {Title = "Third", Description="3rd item"}
            };
        listView.ItemTemplate = new DataTemplate(typeof(TextCell));
        listView.ItemTemplate.SetBinding(TextCell.TextProperty, "Title");

        listView.ItemTapped += async (sender, args) =>
        {
            var item = args.Item as ListItem;
            //if (item == null) return;
            //await Navigation.PushAsync(new DetailPage(item));
            //listView.SelectedItem = null;
        };
        Content = listView;
    }
}

ListItem具有以下属性:

public string Title { get; set; }
public string Description { get; set; }

我想要做的是在我选择其中一个主要项目时显示子项目。这些子项目应该隐藏在开始时,但它们应该在那里,我不想在每次选项时加载它们。任何的想法?谢谢!

1 个答案:

答案 0 :(得分:0)

尝试根据列表项的单击事件更改要显示和消失的项目的可见性。

在iOS上,您可能还需要更改单元格高度(使用HeightRequest),因为它可能不会自行更改。我猜测android会运行得很好。

希望这会有所帮助。