单击 Xamarin.Forms 中的 ListView 项后完整显示详细信息
Posted
技术标签:
【中文标题】单击 Xamarin.Forms 中的 ListView 项后完整显示详细信息【英文标题】:Displaying details in full after clicking a ListView item in Xamarin.Forms 【发布时间】:2020-06-28 13:39:51 【问题描述】:我是 xamarin 表单的新手,我正在尝试创建一个简单的待办事项列表应用程序。我想在 ListView 上单击项目后在新页面上显示项目的完整详细信息,但我不知道该怎么做。我有一个名为 ToDoList 的类,其中包含字符串任务和日期的 get 和 set 方法。在 XAML 中,我有一个名为 TaskView 的列表视图,在 XAML.cs 页面中,我有 ItemTapped 方法,其中包含以下内容:
private async void TaskView_ItemTapped(object sender, ItemTappedEventArgs e)
var details = e.Item as ToDoList;
await Navigation.PushAsync(new ToDoDetails()).ConfigureAwait(false);
我不知道其余的该怎么做
【问题讨论】:
Xamarin 有许多现有的 ToDo 示例 - 你看过它们吗? docs.microsoft.com/en-us/samples/xamarin/xamarin-forms-samples/… 您是否设置了 ItemsSource 和 List 是否可见?如果您正在学习 Xamarin,请使用 Jason 建议的教程链接。 让我看看 【参考方案1】:我的示例OnItemSelected
方法如下:
async void OnItemSelected(object sender, SelectedItemChangedEventArgs args)
var item = args.SelectedItem as Item;
if (item == null)
return;
await Navigation.PushAsync(new ItemDetailPage(new ItemDetailViewModel(item)));
// Manually deselect item.
ItemsListView.SelectedItem = null;
当导航到ItemDetailPage.cs
时:
public partial class ItemDetailPage : ContentPage
ItemDetailViewModel viewModel;
public ItemDetailPage(ItemDetailViewModel viewModel)
InitializeComponent();
BindingContext = this.viewModel = viewModel;
public ItemDetailPage()
InitializeComponent();
var item = new Item
Text = "Item 1",
Description = "This is an item description."
;
viewModel = new ItemDetailViewModel(item);
BindingContext = viewModel;
public partial class ItemDetailPage : ContentPage
ItemDetailViewModel viewModel;
public ItemDetailPage(ItemDetailViewModel viewModel)
InitializeComponent();
BindingContext = this.viewModel = viewModel;
public ItemDetailPage()
InitializeComponent();
var item = new Item
Text = "Item 1",
Description = "This is an item description."
;
viewModel = new ItemDetailViewModel(item);
BindingContext = viewModel;
顺便说一下,实现ToDoList应用的简单方法,你可以在Visual Studio 2019中新建一个Master-Detail应用去研究。
第一步:
第二步:
第三步:
现在,您将看到如何实现To-Do-List功能的项目文件夹:
【讨论】:
以上是关于单击 Xamarin.Forms 中的 ListView 项后完整显示详细信息的主要内容,如果未能解决你的问题,请参考以下文章
我们如何处理 Xamarin Forms Picker 的完成按钮单击事件?
如何在单击 xamarin.forms.maps iOS c# 时更改 pin 图标
Xamarin Forms中的Android,IOS和UWP版本