0
저는 xamarin 양식을 사용하여 모바일 응용 프로그램을 작성 중이며 객체 목록이 있습니다. 목록에 행을 추가하고 이것을 사용하여 속성을 올렸습니다. OnPropertyChanged 및 항목을 저장 한 후 객체 속성 목록의 상태를 업데이트하려고합니다. 우리는 상태 속성을 업데이트 할 수있는 방법, 여기 내 코드 예제 코드를 확인하고 저를 업데이트하십시오, 감사합니다 : - :xamarin 양식의 클래스 속성 업데이트
class Test : INotifyPropertyChanged
{
public int ID { get; set; }
public string Name { get; set; }
private bool _status;
public bool Status
{
get { return _status; }
set
{
_status = value;
RaisePropertyChanged();
}
}
#region INotifyPropertyChanged implementation
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged([CallerMemberName]string propertyName = "")
{
Volatile.Read(ref PropertyChanged)?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
#endregion
}
을 그리고 당신은 올바른 한 경우
class Test
{
public int ID{ get; set; }
public string Name { get; set; }
public bool Status { get; set; }
}
class Consume : BaseViewModel
{
void main()
{
ObservableCollection<Test> coll = new ObservableCollection<Test>();
coll = await db.GetData();
foreach (var item in coll)
{
item.Status = true;
//How we can update Status property of class
OnPropertyChanged("Status");
}
}
}
예, 저는 BaseViewModel에서 INotifyPropertyChanged를 구현했습니다. 그래서 ** OnPropertyChanged ("Status"); **이 메서드를 사용하여 속성을 업데이트했지만 상태를 업데이트하지 않았습니다. –
'Test'와'BaseViewModel'은 다른 클래스입니다. 뷰 모델에서 뷰 모델에 배치 된 특성을 업데이트 할 수 있습니다. 'Status'를'Test'에서 갱신하려면'Test' 클래스에'INotifyPropertyChanged'를 구현해야합니다. –
감사합니다. @Egor Gromadskiy –