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(); }
public void Initialize(BindingEditorForm form) { this.form = form; form.BindingChanged += form_BindingChanged; }
/// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); form.BindingChanged -= form_BindingChanged; form = null; } base.Dispose(disposing); }