一、collection
如果设计如下页面

页面模型如下
public class Product:EZData.Context
{
#region Property Name
#endregion
#region Property Price
#endregion
//按钮绑定
public void Test(){
Messenger.Broadcast<Product> (EventSignal.Select_Current_Product.ToString(),this);
}
}
public class CommodityPage<T> : EZData.Context
where T : EZData.Context
{
//列的集合 引用 Product 集合
#region Collection Page
#endregion
}
public class Category<T>:EZData.Context
where T : EZData.Context
{
//行集合 引用 CommodityPage 集合
#region Collection Table
#endregion
#region Property Name
#endregion
}
public class CategroyUi : EZData.Context
{
//表 引用 Category 集合
#region Collection CategoryList
#endregion
//当前的选中项
#region Property NowSelectProduct
#endregion
public CategroyUi ()
{
//要对其进行初始化
NowSelectProduct = CategoryList.GetItem (0).Table.GetItem (0).Page.GetItem (0);
Messenger.AddListener<Product> (
EventSignal.Select_Current_Product.ToString(), SelectCurrentProduct);
}
//得到当前的选中项
//使用ngui master path
//path = CategoryList.SelectedItem.Table.SelectedItem.Page.SelectedItem
//这样形式是不可以的,只有CategoryList.SelectedItem 是可以使用的
//目前唯一的办法就是
//ngui master path
//path = NowSelectProduct 对其进行修改
//注意:
public void SelectCurrentProduct(Product currentProduct){
NowSelectProduct.Name = currentProduct.Name;
NowSelectProduct.Price = currentProduct.Price;
//这里不能改引用 只能赋值
// NowSelectProduct = currentProduct;
UnityEngine.Debug.Log ("SelectCurrentProduct"+NowSelectProduct.Name);
}
}
原文:http://www.cnblogs.com/chongxin/p/3925209.html