/// <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; } } }
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; } } }