Tag: uitableview

Xamarin自定义UITableViewCell抛出System NullReferenceException

我正在为iOS创建一个Xamarin应用程序,我已经在故事板中添加了一个UITableViewCell,以赋予它自己的风格。 我确实为这个自定义UITableViewCell添加了一个类,即MainMenuCell。 我在单元格中添加了两个标签,并将它们与MainMenuCell.h文件连接起来,产生以下代码: MainMenuCell.cs using System; using Foundation; using UIKit; namespace MyProjectNamespace { public partial class MainMenuCell : UITableViewCell { public MainMenuCell (IntPtr handle) : base (handle) { } public MainMenuCell () : base () { } public void SetCellData() { projectNameLabel.Text = “Project name”; projectDateLabel.Text = “Project date”; } } } MainMenuCell.h(自动生成): using Foundation; […]

使用Mvvmcross进行UITableView分组的现代方法

我在Xamarin + mvvmcross中找到了几种(不是太多)不同的方法来分组细胞。 我已经尝试了几个,但是我遇到了一个问题:当我的真实服务返回更新的集合(稍有延迟)时,绑定并没有真正起作用,列表仍然是空的。 如果要运行虚假服务,它会立即返回结果,列表中会填充数据。 我尝试了几种方法,但没有人推动我前进,所以我不确定是否需要任何代码。 只是询问是否有关于分组的现代实现的样本/提示。 编辑:这是一个代码示例。 当前版本基于Stuart的答案: 无法绑定到mvvmcross中的ios表部分单元格,子单元格按预期绑定 视图模型: public override async void OnShow() { var calendarList = await DataService.GetListAsync(); CalendarList = new List(calendarList.OrderBy(a => a.Date)); } 因此,viewmodel获取模型列表,按日期排序并将其设置为CalendarList。 CalendarList只是一个抛出通知的List(new正在执行此工作)。 查看,初始化: public override void ViewDidLoad() { base.ViewDidLoad(); var source = new TableSource(CalendarList); this.AddBindings(new Dictionary { {source, “ItemsSource CalendarList” } }); CalendarList.Source = source; CalendarList.ReloadData(); […]

使用Monotouch处理iOS的UITableViewSource事件

我正在尝试捕获并处理一个事件,当单击UITableViewSource的元素时。 这是我的代码: public class TableViewSource : UITableViewSource { public event EventHandler SongSelected; private List rows; public TableViewSource (List list) { rows = list; } public override int RowsInSection (UITableView tableview, int section) { return rows.Count; } public override void RowSelected (UITableView tableView, NSIndexPath indexPath) { // raise our event var handler = SongSelected; if (handler […]