private void StopMonitoringChildElement(DependencyObject childElement) { // Удаление объекта для отслеживания изменения прикрепленных свойств Grid.Row и Grid.Column у новых ячеек if (this.childToMonitorMap.ContainsKey(childElement)) { MatrixGridChildMonitor monitor = this.childToMonitorMap[childElement]; BindingOperations.ClearAllBindings(monitor); this.childToMonitorMap.Remove(childElement); } }
private void StartMonitoringChildElement(DependencyObject childElement) { // Создание объекта для отслеживания изменения прикрепленных свойств Grid.Row и Grid.Column у новых ячеек MatrixGridChildMonitor monitor = new MatrixGridChildMonitor(); BindingOperations.SetBinding( monitor, MatrixGridChildMonitor.GridRowProperty, this.CreateMonitorBinding(childElement, Grid.RowProperty)); BindingOperations.SetBinding( monitor, MatrixGridChildMonitor.GridColumnProperty, this.CreateMonitorBinding(childElement, Grid.ColumnProperty)); this.childToMonitorMap.Add(childElement, monitor); }