Я использую ListView для отображения заголовков «назначений», которые я получаю от API. Как только я нажимаю на назначение, я хочу перейти на страницу сведений об этом назначении. Здесь я хочу показать описание и идентификатор выбранного назначения. Я почти все понял, но я застрял.
Моя страница XAML выглядит так:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="App.Views.AssignmentListPage"
Title="Opdrachten">
<ListView x:Name="AssignmentsListView" Margin="20">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="20,0,0,0" HorizontalOptions="StartAndExpand" Orientation="Horizontal">
<Label Text="{Binding Title}" VerticalTextAlignment="Center">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="OnLabelClicked" CommandParameter="{Binding .}"/>
</Label.GestureRecognizers>
</Label>
<!--<Label Text="{Binding Title}" VerticalTextAlignment="Center">
<Label.GestureRecognizers>
<TapGestureRecognizer Command="viewDetails" CommandParameter="{Binding .}"/>
</Label.GestureRecognizers>
</Label>-->
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Мой код выглядит следующим образом: "
public partial class AssignmentListPage : ContentPage
{
public AssignmentListPage ()
{
InitializeComponent ();
}
protected override async void OnAppearing()
{
base.OnAppearing();
AssignmentsListView.ItemsSource = await App.AssignmentManager.GetAssignmentsAsync();
}
async void OnLabelClicked(object s, EventArgs e)
{
var a = e.ToString();
var assignment = new Assignment
{
Id = "1234",
Title = "Cross-Platform Application",
Description = "What a beautiful description"
};
var assignmentDetailsPage = new AssignmentDetailsPage
{
BindingContext = assignment
};
await Navigation.PushAsync(assignmentDetailsPage);
}
}
Как видите, я жестко закодировал идентификатор, заголовок и описание в функции OnLabelClicked
. Я хочу использовать e.Parameter
для получения этих данных, но это не то, что я могу выбрать. Я могу выбирать только из ToString
, Equals
, getType
. Но когда я запускаю приложение и проверяю e
, оно содержит «Параметр». Смотрите картинку.
![enter image description here](https://i.imgur.com/3xwNrHL.png)
Я пытался использовать Command
вместо Tapped
в файле XAML, но безуспешно. Я не мог узнать, как это сделать.
Я новичок во всем этом и целый день работаю над этим вопросом. Я получил немного туннельного зрения. Я надеюсь, что вы, ребята, можете указать мне правильное направление.