我有一个由“Xamarin form DataGrid”组成的数据网格。当我更新/更新数据内容时,我发现它不跟随刷新。我错过了什么使它刷新的事情吗?任何帮助都是值得赞赏的。特里·比尔
yrwegjxp1#
当我续订/更新数据内容时,我发现它没有跟随刷新。您使用的是nuget Xamarin.Forms.DataGrid吗?您可以重新检查是否为物料模型实施了INotifyPropertyChanged。例如,如果希望在更改属性Name的值后自动刷新UI,可以执行以下操作:
INotifyPropertyChanged
Name
public class Professional: INotifyPropertyChanged { public string Id { get; set; } //public string Name { get; set; } private string _name; public string Name { get => _name; set { SetProperty(ref _name, value); } } public string Desigination { get; set; } public string Domain { get; set; } public string Experience { get; set; } bool SetProperty<T>(ref T storage, T value, [CallerMemberName] string propertyName = null) { if (Object.Equals(storage, value)) return false; storage = value; OnPropertyChanged(propertyName); return true; } protected void OnPropertyChanged([CallerMemberName] string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } public event PropertyChangedEventHandler PropertyChanged; }
如果您希望在从ItemsSource列表中添加或删除项时自动刷新UI,则可以将数据列表的类型定义为ObservableCollection<>,例如:
ItemsSource
ObservableCollection<>
public ObservableCollection<Professional> Professionals {get;set;}
1条答案
按热度按时间yrwegjxp1#
当我续订/更新数据内容时,我发现它没有跟随刷新。
您使用的是nuget Xamarin.Forms.DataGrid吗?
您可以重新检查是否为物料模型实施了
INotifyPropertyChanged
。例如,如果希望在更改属性
Name
的值后自动刷新UI,可以执行以下操作:如果您希望在从
ItemsSource
列表中添加或删除项时自动刷新UI,则可以将数据列表的类型定义为ObservableCollection<>
,例如: