在TableSource类中,是否可以访问TwitterViewModel ViewModel属性而无需创建vm的新实例,使其成为静态或使用事件聚合?
例如:
public override float GetHeightForRow (UITableView tableView, NSIndexPath indexPath)
{
return ViewModel.DoGetHeightForRow();
}
答案 0 :(得分:0)
由于该类嵌套在View中,因此您只需添加访问权限 - 就像其他任何C#类一样 - 例如:
public class TableSource : MvxSimpleTableViewSource
{
private TwitterView _parent;
public TableSource (UITableView tableView, TwitterView parent)
: base(tableView, TweetCell3.Identifier, TweetCell3.Identifier)
{
_parent = parent;
tableView.RegisterNibForCellReuse(UINib.FromName(TweetCell3.Identifier, NSBundle.MainBundle), TweetCell3.Identifier);
}
public override float GetHeightForRow (UITableView tableView, NSIndexPath indexPath)
{
return _parent.SomeMethod(indexPath);
}
}