Полное отображение подробностей после нажатия элемента ListView в Xamarin.Forms - PullRequest
0 голосов
/ 17 марта 2020

Я новичок в формах xamarin и пытаюсь создать простое приложение ToDo List. Я хочу показать полную информацию на новой странице об элементе после нажатия на него в ListView, но я не знаю, как go об этом. У меня есть класс ToDoList с методами get и set для строки Task и date. В 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);
    }

Я не уверен, как go об остальных

1 Ответ

0 голосов
/ 18 марта 2020

Мой образец 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 , вы можете создать новое приложение Master-Detail в Visual Studio 2019, чтобы исследовать это.

Шаг первый:

enter image description here

Шаг второй:

enter image description here

Шаг третий:

enter image description here

Теперь вы увидите папку проекта, в которой описано, как реализовать функцию To-Do-List:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...