예제 #1
0
        /// <summary>
        /// Destroys a VisualElement when the view is rebuilt or cleared.
        /// </summary>
        /// <param name="element">The element being destroyed.</param>
        public void DestroyItem(VisualElement element)
        {
            foreach (var cellContainer in element.Children())
            {
                var column = cellContainer.GetProperty(k_BoundColumnVePropertyName) as Column;
                if (column == null)
                {
                    continue;
                }

                var cellItem = cellContainer.GetProperty(bindableElementPropertyName) as VisualElement;
                column.destroyCell?.Invoke(cellItem);
            }
        }
예제 #2
0
        /// <summary>
        /// Unbinds the row at the item index.
        /// </summary>
        /// <param name="element">The element from that row, created by MakeItem().</param>
        /// <param name="index">The item index.</param>
        public void UnbindItem(VisualElement element, int index)
        {
            foreach (var cellContainer in element.Children())
            {
                var column = cellContainer.GetProperty(k_BoundColumnVePropertyName) as Column;
                if (column == null)
                {
                    continue;
                }

                var cellItem = cellContainer.GetProperty(bindableElementPropertyName) as VisualElement;
                UnbindCellItem(cellItem, index, column);
            }
        }