Получить только одну запись выбранного элемента в observableCollection и показать в xaml C # - PullRequest
0 голосов
/ 14 сентября 2018

я делаю приложение, которое показывает список служб, и если я выберу один, это вызовет этот метод.

  public void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
    {
        var vm = BindingContext as ServicosMenu;
        var ser = e.Item as Rota;

        vm.HideOrShowService(ser);
    }

Таким образом, дело в том, что это покажет кнопку вызова Details, которая перенаправит меня к просмотру подробностей услуги, которую я выбрал.Проблема в том, что я не знаю, как привязать выбранный элемент к следующему представлению.

Пример. Представьте, что сегодня у вас есть 2 службы, вы выбираете одну из них, и она отображает сведения о кнопке, вы нажимаете эту кнопку и перенаправляете ее на эту страницу:

   <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:ser="clr-namespace:AppQ4evo.Services"
             x:Class="AppQ4evo.Views.Detalhes">
    <ContentPage.BindingContext>
        <ser:ServicosMenu/>
    </ContentPage.BindingContext>

    <StackLayout Spacing="10" Margin="10,10" >
    <Label Text="Detalhes do Cliente selecionado" FontSize="Large" TextColor="Black" Font="bold"/>

    <ListView  x:Name="details"             
               ItemsSource="{Binding OneSer }" 
               HasUnevenRows="True"   
              Margin="10,30">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>.....

С этимXAML код, который я показываю выше, я получаю подробную информацию о 2 сервисах, которые поступают из моего observableCollection ListSer, вместо того, к которому я прикоснулся, чтобы увидеть детали.

Любая идея, как я мог бы сделать это, чтобы показать только детали одного элемента списка, который я выбрал?

Спасибо за любую помощь !!

EDIT1:

The details button:

    private async Task Button_Clicked_DetalhesAsync(object sender, ItemTappedEventArgs e)
    {

        await Navigation.PushAsync(new Detalhes());
    }

Детали

EDIT2

Это класс и представление деталей:

Класс:

    [XamlCompilation(XamlCompilationOptions.Compile)]
public partial class Detalhes : ContentPage
{
    public ObservableCollection<Rota> Rote { get; set; }
    public Detalhes (Rota det)
    {
        Rote = new ObservableCollection<Rota>();
        Rote.Add(det);
      //  details.ItemsSource = Rote; this was a try did not work too
        InitializeComponent();

    }

Вид:

<ListView  x:Name="details" 
           SelectedItem="{Binding Path=Rote}"
           HasUnevenRows="True"   
           Margin="10,30">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>...

Вы видите, что не так в этом ??

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