Witam. Po pierwsze to nawet nie potrafię prawidłowo tytułu temu wątkowi nadać, więc proszę admina o poprawę kiedy już wyjaśnię w dalszej treści o co mi chodzi.
A teraz do rzeczy.
Próbuję przy pomocy xamarina stworzyć aplikację i mam problem z pobraniem pozycji z listy jako obiektu.
Lista jest generowana z kolekcji obiektów klasy Note.
Plik xaml:
<ListView x:Name="notesList" SeparatorColor="Green" ItemSelected="NoteSelected" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Padding="5">
<Label Text="{Binding Title}" TextColor="#f35e20" />
<Switch
IsToggled="{Binding Active}"
HorizontalOptions="EndAndExpand"
Toggled="SwitchActiveStatus" />
</StackLayout>
<StackLayout Orientation="Vertical" Padding="5">
<Label Text="{Binding Content}" TextColor="#503026" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Po przełączeniu switcha jest uruchamiana metoda SwitchActiveStatus
private void SwitchActiveStatus(object sender, ToggledEventArgs e)
{
var noteObject =
}
I w tej metodzie chciałbym do zmiennej noteObject przypisać obiekt listy której switch został użyty.
I tu mam właśnie problem że nie wiem jak to zrobić.
Dla metody wywoływanej z głównego węzła czyli ListView problemu nie ma gdyż po prostu rzutuję na obiekt Note.
Jak tutaj.
private void NoteSelected(object sender, SelectedItemChangedEventArgs e)
{
var noteObject = e.SelectedItem as Note;
Navigation.PushAsync(new NoteView(noteObject));
}
Niestety w moim przypadku to nie działa gdyż wszystko wskazuje na switcha a nie na element listy.
Więc jak pobrać ten element listy do którego należy użyty switch?
Z góry dziękuję za informację jak to zrobić.
Pozdrawiam.