我想使用单击对话框作为不可编辑的数据显示某些数值。但是调用DialogViewController.ReloadData不会更新绑定对象的数据。Monotouch-Dialog ReloadData不重新加载数据?
class AccountFormModel
{
[Section("Account data", "")]
[Caption("Balance")]
public string balance;
}
...
private void InitComponents()
{
accountFormModel = new AccountFormModel();
accountFormModel.balance = "TestTestTest";
bc = new BindingContext(this, accountFormModel, "AccountData");
dialogViewController = new DialogViewController(bc.Root);
dialogViewController.Autorotate = true;
}
private void RefreshData()
{
string b = SomeDatasource.Account.Balance.ToString("N4");
accountFormModel.balance = "$" + b;
dialogViewController.ReloadData();
}
调试表明accountFormModel.balance在refreshData方法被设置为正确的值,但没有在模拟器上的形式变化(保持TestTestTest)。我做错了什么?
嘿米格尔,所以如果我有一个大对象的列表(大约1000),我试图建立一个大的可滚动列表,或许Dialog不是最适合的工具?我广泛使用SyleStringElement,即使在Root.Add(mySection)调用完成后,它也需要大约3-4秒才能呈现UITableView(在3GS设备上)。我可以很轻松地重写GetCell来完成同样的事情,而不使用Dialog。如果我将它理解为意味着Dialog不适合使用Elements API呈现大型列表,我是否正确理解了您的答案? – NovaJoe 2011-04-11 15:36:42