Это мой код:Изменить текст метки при щелчке в ListView
public partial class MyGS: ContentPage {
private GestioneSchedeViewModel _viewModel;
public MyGS() {
InitializeComponent();
BindingContext = _viewModel = new MyGSViewModel();
}
private void modifySch(object sender, EventArgs e)
{
SchedeItem item = (SchedeItem)((Image)sender).BindingContext;
if (item == null) { return; }
_viewModel.modifyItem(item.realm_id, item.list_id);
}
}
public class MyGSViewModel: INotifyCollectionChanged {
public event NotifyCollectionChangedEventHandler CollectionChanged;
public ObservableCollection <SchItem> Items {get;private set;}
public MyGSViewModel() {
Items = new ObservableCollection<SchItem>();
//Item Population
}
public void modificaItem(int rid, int lid)
{
SchedeItem myItem = Items[lid];
myItem.name = "New Text";
}
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
public class SchItem : INotifyPropertyChanged {
public int realm_id {get;set;}
public int list_id {get;set;}
public int name {get;set;}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
Как я могу изменить текст метки переплетены с именем в ListView на изображение нажмите? На данный момент клик не изменяется, и «Новый текст» не отображается в целевом элементе в списке.
Примечание: XAML here
Примечание: Отладка в устройстве Android
если вы изменяете свойство SchItem, то, что класс должен реализовывать INotifyPropertyChanged – Jason
не работает с внедрением 'INotifyPropertyChanged' в классе SchItem – Segamoto
вы внедряете его правильно? – Jason