Я немного застрял здесь.
Так что это мой класс, который я инициализирую, мой ObservableCollection
:
public class ServicosMenu : BindableObject
{
private Rota _oldSer;
public AppService lo = new AppService();
public ObservableCollection<Rota> ListSer { get; set; }
public ObservableCollection<Rota> OneSer { get; set; }//foi introduido pra testar 1 so servico
public List<Rota> y = new List<Rota>();
public RssRotas rts = new RssRotas();
public CalendarPopUp cal = new CalendarPopUp();
public ServicosMenu()
{
rts.data = cal.datacal;
GetListSerAsync();
ListSer = new ObservableCollection<Rota>();
OneSer = new ObservableCollection<Rota>();
}
public void settt(string value)
{
rts.data = value;
}.....
А в другом классе это код:
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class Servicos : ContentPage
{
public Servicos (string data)
{
InitializeComponent();
}
public void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
{
var vm = BindingContext as ServicosMenu;
var ser = e.Item as Rota;
vm.HideOrShowService(ser);
vm.OneSer.Add(ser); //this is where it gives me the error
}
private async Task Button_Clicked_DetalhesAsync(object sender, ItemTappedEventArgs e)
{
await Navigation.PushAsync(new Detalhes());
}
Так что моя проблемазаключается в том, что ObservableCollection
выполняет «сброс» каждый раз, когда я вызываю представление Details, потому что он имеет BindingContext
для класса ServicoMenu.Поэтому каждый раз, когда я вызываю представление, оно вызывает конструктор и снова инициализирует коллекцию, и я теряю значение, которое пытался добавить.
Как это исправить, чтобы оно не «сбрасывало» значение?
Спасибо за любую помощь !!
РЕДАКТИРОВАТЬ1:
Как выМожно видеть, что мой класс просмотра Detalhes уже получил значение выбранного элемента, думаю связать его со списком xaml.Это мой xaml:
И в приложении ничего ...
РЕДАКТИРОВАТЬ2:
и когда я касаюсь кнопки, чтобы перейти на страницу сведений оприложение, оно не работает, и я получаю эту странную мысль в выводе: