namespace FeedbackGeneratorQQ.Utils { using System.Windows; using System.Windows.Data; public class BinderHelper { /// /// Basic model for binding /// private readonly object viewModel; public BinderHelper(object viewModel) { this.viewModel = viewModel; } private Binding GetBaseBinding(string propertyName, BindingMode mode) { Binding binding = new Binding(propertyName) { Source = this.viewModel, Mode = mode, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged, }; return binding; } public void AddBinding(DependencyObject dependency, DependencyProperty property, string propertyName) { BindingOperations.SetBinding(dependency, property, this.GetBaseBinding(propertyName, BindingMode.TwoWay)); } public void AddBinding(DependencyObject dependency, DependencyProperty property, string propertyName, BindingMode mode) { BindingOperations.SetBinding(dependency, property, this.GetBaseBinding(propertyName, mode)); } } }