我有自定义单元格的 UITableView 。细胞代码:
public partial class SaleTableViewCell : MvxTableViewCell
{
public static readonly NSString Key = new NSString("SaleTableViewCell");
public static readonly UINib Nib = UINib.FromName("SaleTableViewCell", NSBundle.MainBundle);
public SaleTableViewCell(IntPtr handle)
: base(handle)
{
this.DelayBind(() =>
{
var set = this.CreateBindingSet<SaleTableViewCell, SaleItem>();
set.Bind(IdLabel).To(vm => vm.ProductKey);
set.Bind(NameLabel).To(vm => vm.Description);
set.Bind(QuantityLabel).To(vm => vm.Quantity);
set.Bind(PriceLabel).To(vm => vm.Price);
set.Bind(DiscountLabel).To(vm => vm.DiscountAmount);
set.Bind(TotalLabel).To(vm => vm.Total);
set.Apply();
});
}
public static SaleTableViewCell Create()
{
return (SaleTableViewCell)Nib.Instantiate(null, null)[0];
}
}
我正在使用 MvxSimpleTableViewSource :
var source = new MvxSimpleTableViewSource(TableView, SaleTableViewCell.Key, SaleTableViewCell.Key);
TableView.Source = source;
但是当我尝试更改 SaleItem 的任何属性时(例如 Quantity ),即使我直接调用TableView.ReloadData();
,我的TableView也不会更新
我做错了什么?
答案 0 :(得分:0)
SaleItem
需要实现INotifyPropertyChanged。
然后,您可以更改其属性,并在表格单元格中查看结果。
最简单的方法是使用这个nuget:https://github.com/Fody/PropertyChanged,但你也可以自己编写实现。