private void bindingSettingsControl_TargetEditButtonClick(object sender, EventArgs e) { if (particleEffect.BindingRepository == null) return; var propertyForm = new BindingEditorForm(); // Edit target property var current = particleEffect.BindingRepository.GetObjectBinding(bindingSettingsControl.SelectedBinding); if (current != null) { propertyForm.Initialize(ParticleEffect); propertyForm.SetBinding(current.TargetObject, current.TargetProperty); DialogResult result = propertyForm.ShowDialog(this); if (result == DialogResult.OK) { particleEffect.BindingRepository.SetBindingTarget(bindingSettingsControl.SelectedBinding, propertyForm.BindableObject, propertyForm.BindableProperty); } } propertyForm.Dispose(); }