我有以下代码使用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; }
我想要做的是在我选择其中一个主要项目时显示子项目。这些子项目应该隐藏在开始时,但它们应该在那里,我不想在每次选项时加载它们。任何的想法?谢谢!
答案 0 :(得分:0)
尝试根据列表项的单击事件更改要显示和消失的项目的可见性。
在iOS上,您可能还需要更改单元格高度(使用HeightRequest),因为它可能不会自行更改。我猜测android会运行得很好。
希望这会有所帮助。