C# Xamarin表单中的可扩展ListView
我有以下代码使用Xamarin表单显示ListView: App.csC# Xamarin表单中的可扩展ListView,c#,listview,xamarin,xamarin.forms,C#,Listview,Xamarin,Xamarin.forms,我有以下代码使用Xamarin表单显示ListView: App.cs public App () { MainPage = GetMainPage(); } public static Page GetMainPage() { return new NavigationPage(new DrilldownListViewByItem()); } DrilldownListViewByItem: public class DrilldownListViewByItem : C
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; }
我想做的是,当我在其中一个主项上单击tab键时,显示子项。这些子项应该隐藏在beggining,但它们应该在那里,我不想每次在一个项上添加标签时都加载它们。有什么想法吗?谢谢 尝试根据列表项的单击事件更改要显示和消失的项的可见性 在iOS上,您可能还必须更改单元格高度(使用HeightRequest),因为它可能不会自行更改。我猜android会很好地工作
希望这有帮助 我不想指定固定高度。如何自动获取所需的高度?您是否尝试将HasRows设置为true?它是ListView上的一个属性。这可能会有所帮助,但它可能不会自动执行此操作,您必须强制执行此操作。至少上次我试的时候是这样的。是的,我已经试过了。ViewCell的大小在WinPhone和iPhone上无法刷新。对于WinPhone,当我将设备旋转到横向,然后再旋转回纵向时,ViewCell将刷新。对于iPhone,当ViewCell从屏幕上滚出,然后再带回来时,ViewCell会被刷新。然后据我所知,您必须使用HeightRequest来根据新内容正确更新大小。