У меня есть ListView, отображающий несколько случаев, и я хотел бы отобразить детали его страницы, когда я нажимаю ссылку в списке.Я получаю только пустую страницу.
Я пробовал EventHandler из моего XAML и не работал.
<ListView ItemsSource="{Binding GetCases}" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Margin="20,0,20,0">
<Label Text="Case Reference:" FontSize="14" TextColor="Green"/>
<Label FontSize="12" TextColor="Blue" FontAttributes="Bold">
<Label.FormattedText>
<FormattedString>
<Span Text="{Binding Reference}" TextColor="Blue" TextDecorations="Underline"> // I can get the list of References here, but can go to their details
<Span.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_OnTapped" NumberOfTapsRequired="1" />
<TapGestureRecognizer Command="{Binding Path=BindingContext.GoToPageDetails, Source={x:Reference Page}}" /> //This approach takes me to the Page Details, but it is blank
</Span.GestureRecognizers>
</Span>
</FormattedString>
</Label.FormattedText>
</Label>
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
VIEWMODEL
public CasesViewModel(INavigation navigation)
{
IGetDataFromServer cases = new GetDataFromServer();
Navigation = navigation;
GoToPageDetails = new Command(async () => await PageDetails());
GetCases = cases.GetCases(); // This code retrieves my data from server - it Works fine
}
public Command GoToPageDetails {get;задавать;}
public async Task PageDetails()
{
await Navigation.PushAsync(new CaseDetails());
}
ДЕТАЛИ ДЕЛА XAML
<ListView ItemsSource="{Binding GetCases}" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Margin="20,0,20,0">
<Label Text="PERSONAL DETAILS" FontSize="Large" TextColor="Black" Margin="0,0,0,20" />
<Label Text="Status:" FontSize="14" TextColor="Green"/>
<Label Text="{Binding status}"
FontSize="12" TextColor="Black" />
</StackLayout>
</ViewCell.View>
</ViewCell>
</ DataTemplate>
</ ListView.ItemTemplate>
</ ListView>
ДЕТАЛИ ДЕЛА VIEWMODEL
public CaseDetailsViewModel(INavigation navigation)
{
IGetDataFromServer cases = new GetDataFromServer();
Navigation = navigation;
GetCases = cases.GetCases().FirstOrDefault();
}
public CasesFull GetCases { get; set; }
Я могу перейти на страницу сведений о деле, но она пуста.Возможно, я не передаю ссылку на страницу, или, может быть, это что-то еще.
Спасибо за вашу помощь.