Я хочу, чтобы информация о представлении списка передавалась в записи при нажатии на элемент представления списка. Как мне это сделать?
Как привязать информацию метки к записям?
Спасибо тем, кто мне помогает!
Это мой код для Entry
:
<Label x:Name = "name" FontAttributes = "Bold" />
<Entry x:Name = "names" Text = "{Binding Es}" />
<Label x:Name = "family" FontAttributes = "Bold" Text = "Family :" />
<Entry x:Name = "namefamily" Text = "{Binding Fl}" />
Этот код мой список
<ContentPage.Content>
<ListView x:Name = "listv" ItemsSource = "{Binding }" HasUnevenRows = "True" ItemTapped = "ListView_ItemTapped">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid Margin = "5" ColumnSpacing = "20">
<Grid.RowDefinitions>
<RowDefinition Height = "Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width = "Auto"/>
<ColumnDefinition Width = "Auto"/>
</Grid.ColumnDefinitions>
<Label x:Name = "lbl" Text = "{Binding Name}" Grid.Row = "0" Grid.Column = "0"/>
<Label x:Name = "lbl2" Text = "{Binding Family}" Grid.Row = "0" Grid.Column = "1"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage.Content>
Этот код моей таблицы:
public string Name { get; set; }
public string Family { get; set; }
Этот код мой вм:
public string Es
{
get => es;
set
{
esm = value;
var args = new PropertyChangedEventArgs(nameof(Es));
PropertyChanged?.Invoke(this, args);
}
}
public string Fl
{
get => fl;
set
{
fl = value;
var args = new PropertyChangedEventArgs(nameof(Fl));
PropertyChanged?.Invoke(this,args);
}
}
Когда пользователь заполняет записи, он переходит на страницу списка просмотра с помощью кнопки «Сохранить»! Записи находятся на другой странице, и я хочу, чтобы пользователь повторно входил на страницу записей, когда пользователь нажимает на элемент просмотра списка, но с информацией внутри элемента списка! (Заполните записи данными в элементе списка.) @Jason
при переходе на следующую страницу передайте выбранный объект в конструкторе страниц
Можете ли вы написать пример для меня? Потому что я не знаю. @Джейсон
пожалуйста, разместите свой код для перехода на новую страницу, когда выбрана строка
Мои записи находятся на главной странице, а имя моей страницы ListView — список желаний, а имя моей таблицы — в базе данных «Избранное». Я не знаю, как действовать. Большое спасибо за вашу помощь! @Jason
Я уже привел пример ниже по запросу
Учитывая имена, которые я вам дал, как мне разместить свои классы в вашем коде? @Jason
если у вас есть конкретный вопрос о моем ответе, оставьте комментарий к ответу.
просто передайте выбранный элемент через конструктор страницы
listv.ItemSelected += (object sender, SelectedItemChangedEventArgs e) =>
{
// you will need to cast this to the appropriate class
var item = (MyItemClass) e.SelectedItem;
Navigation.PushAsync(new MySecondPage(item));
};
Мои записи находятся на главной странице, а имя моей страницы ListView — список желаний, а имя моей таблицы — в базе данных «Избранное». Я не знаю, как действовать. Большое спасибо за вашу помощь! @Jason
Учитывая имена, которые я вам дал, как мне разместить свои классы в вашем коде? @Jason
мой пример состоит всего из трех строк кода. Что конкретно вам не понятно? Замените имена-заполнители, которые я использовал, на настоящие имена из вашего кода. Например, MySecondPage
должно быть названием страницы, на которую вы хотите перейти.
Что мне поставить вместо (myitemclass)? @Jason
имя вашего класса модели, которое представлено каждой строкой ListView
Где находятся эти записи? Находятся ли они на той же странице, что и ListView, или на другой странице? Как вы переходите от ListView к этой другой странице?