コード例 #1
0
        private void BindingList(ViewModelDataSourceList rViewModelDataSource)
        {
            var rViewModelObj = rViewModelDataSource.ViewModelProp.GetValue();

            if (rViewModelObj != null)
            {
                var rListObservableObj = rViewModelObj as IObservableEvent;
                rListObservableObj.ChangedHandler += () =>
                {
                    var rListObj2   = (IList)rViewModelDataSource.ViewModelProp.GetValue();
                    var nListCount2 = rListObj2 != null ? rListObj2.Count : 0;

                    var nOldCount = rViewModelDataSource.ListView.totalCount;
                    rViewModelDataSource.ListView.totalCount = nListCount2;
                    if (nListCount2 == nOldCount)
                    {
                        rViewModelDataSource.ListView.RefreshCells();
                    }
                    else
                    {
                        rViewModelDataSource.ListView.RefillCells();
                    }
                };

                var rListObj   = rViewModelObj as IList;
                var nListCount = rListObj != null ? rListObj.Count : 0;

                rViewModelDataSource.ListView.OnFillCellFunc = (rTrans, nIndex) =>
                {
                    this.OnListViewFillCellFunc(rTrans, nIndex, rListObj);
                };
                rViewModelDataSource.ListView.totalCount = nListCount;
                rViewModelDataSource.ListView.RefillCells();
            }
            else
            {
                Debug.LogError($"ViewModel {rViewModelDataSource.ViewModelPath} getValue is null..");
            }
        }
コード例 #2
0
 protected override void OnEnable()
 {
     base.OnEnable();
     mTarget = this.target as ViewModelDataSourceList;
 }