Exemple #1
0
        /// <summary>
        /// Sets the editor parameters.
        /// </summary>
        /// <param name="editorDataContext">The editor data context.</param>
        /// <param name="editTemplate">The edit template.</param>
        /// <param name="viewTemplate">The view template.</param>
        protected void SetEditorParams(ICellDataContextObject editorDataContext, DataTemplate editTemplate, DataTemplate viewTemplate)
        {            
            CellEditTemplate = editTemplate;

            if (editorDataContext != null)
                CellEditorDataContext = editorDataContext;

            if (viewTemplate != null)
                CellViewTemplate = viewTemplate;
            else if (!this.Equals(CellEditorDataContext))
                CellViewTemplate = CellDataTemplates.GetTemplateByName("Spreadsheet_ViewIsAbsentTemplate");
        }
        /// <summary>
        /// Handles the <see cref="E:ParentCellPropertyChanged" /> event.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="args">The <see cref="PropertyChangedEventArgs"/> instance containing the event data.</param>
        private void OnParentCellPropertyChanged(object sender, PropertyChangedEventArgs args)
        {
            var cell = sender as CellBase;
            if (cell == null)
                return;

            if (args.PropertyName == "CellEditorDataContext")
                _editorDataContext = cell.CellEditorDataContext;

            if (args.PropertyName == "CellEditTemplate")
                _editTemplate = cell.CellEditTemplate;

            if (args.PropertyName == "CellViewTemplate")
                _viewTemplate = cell.CellViewTemplate;

            SetEditorParams(_editorDataContext, _editTemplate, _viewTemplate);
        }
Exemple #3
0
        /// <summary>
        /// Disposes this instance.
        /// </summary>
        internal virtual void Dispose()
        {
            _disposed = true;

            _cellEditTemplate = null;
            _cellViewTemplate = null;
            _cellEditorDataContext = null;
        }
        /// <summary>
        /// Disposes this instance.
        /// </summary>
        internal override void Dispose()
        {
            base.Dispose();

            _editTemplate = null;
            _viewTemplate = null;
            _editorDataContext = null;

            if (_parentCell != null)
            {
                _parentCell.PropertyChanged -= OnParentCellPropertyChanged;
                _parentCell = null;
            }
        }