Работа с платформой xamarin.Мне нужно в основном привязать свойство элемента в observablecollection к свойству label.text.
Пока у меня есть эта
МОДЕЛЬ
public class TelemetModel : BaseItem , INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private int dayCount;
public int Daycount
{
get { return dayCount; }
set
{
if (dayCount != value)
{
dayCount = value;
OnPropertyChanged();
}
}
}
public double Tdyattnd { get; set; }
public double Tdybnk { get; set; }
public double Tomattnd { get; set; }
public double Tombnk { get; set; }
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
ViewModel
public ObservableCollection<TelemetModel> OtelemetInstance { get; set; }
OtelemetInstance = new ObservableCollection<TelemetModel>();
//In some method
var otelemet = new TelemetModel
{
Daycount = classcount,
Tdyattnd = Math.Round(tdyatnd, 2),
Tdybnk = Math.Round(tdybnk, 2),
Tomattnd = Math.Round(tomatnd, 2),
Tombnk = Math.Round(tombnk, 2)
};
OtelemetInstance.Clear();
OtelemetInstance.Add(otelemet);
Представление
lbl_classinfo.BindingContext=ViewModel.ClassVMInstance.DatesVMInstance.OtelemetInstance[0].Daycount;
lbl_classinfo.SetBinding(Label.TextProperty, ".",converter:new IClassNeededConverter());
Прямо сейчас мое представление не обновляется, хотя я использовал интерфейс inotifypropertychanged в свойствах модели.
Потратил лучшую половину 3 дня на поиски моей конкретной потребности, т.е.реализуя INotifyPropertyChanged для свойства элемента в ObservableCollection, нигде не удалось найти фрагмент.Я новичок в MVVM, что я сделал, может быть неправильно, заранее спасибо за помощь.Дайте мне знать, если вам нужны какие-либо подробности.
РЕДАКТИРОВАТЬ:
Iv сделал репозиторий GitHub Здесь