![](/img/trans.png)
[英]Getting current item by clicking button within a ListView (Xamarin.Forms)
[英]Displaying details in full after clicking a ListView item in Xamarin.Forms
我是 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);
}
我不知道剩下的怎么辦
我的示例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 中創建一個新的主從應用程序來研究它。
步驟1 :
第二步 :
第三步:
現在,您將看到如何實現 To-Do-List 功能的項目文件夾:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.