我想知道是否有除此以外的简单明了的方法,用于从嵌套listview控制器访问主对象。
((PropertyCollectionSource)((ListView)View).CollectionSource).MasterObject
我必须在需要访问主对象的任何地方编写此代码吗?
我认为这不是一种优雅的方法,看起来很la脚。
最佳答案
尚未测试,但是您可以使用以下ViewController后代:
public class NestedViewController : ViewController
{
protected PropertyCollectionSource PropertyCollectionSource
{
get
{
return View is ListView ? ((ListView)View).CollectionSource is PropertyCollectionSource ? ((ListView)View).CollectionSource as PropertyCollectionSource : null : null;
}
}
protected object MasterObject
{
get
{
return PropertyCollectionSource != null ? PropertyCollectionSource.MasterObject : null;
}
}
}