Example #1
0
        /// <summary>
        /// Sets up property changed.
        /// </summary>
        /// <param name="nativeCell">Native cell.</param>
        protected void SetUpPropertyChanged(CellBaseView nativeCell)
        {
            var formsCell     = nativeCell.Cell as CellBase;
            var parentElement = formsCell.Parent as Shared.sv.SettingsView;

            formsCell.PropertyChanged += nativeCell.CellPropertyChanged;

            if (parentElement != null)
            {
                parentElement.PropertyChanged += nativeCell.ParentPropertyChanged;
                Section section = parentElement.Model.GetSection(SettingsModel.GetPath(formsCell).Item1);
                if (section != null)
                {
                    formsCell.Section = section;
                    formsCell.Section.PropertyChanged += nativeCell.SectionPropertyChanged;
                }
            }
        }
Example #2
0
        private void ClearPropertyChanged(CellBaseView nativeCell)
        {
            var formsCell = nativeCell.Cell as CellBase;

            if (formsCell is null)
            {
                return;                 // for HotReload
            }
            var parentElement = formsCell.Parent as Shared.sv.SettingsView;

            formsCell.PropertyChanged -= nativeCell.CellPropertyChanged;
            if (parentElement != null)
            {
                parentElement.PropertyChanged -= nativeCell.ParentPropertyChanged;
                if (formsCell.Section != null)
                {
                    formsCell.Section.PropertyChanged -= nativeCell.SectionPropertyChanged;
                }
            }
        }