namespace FeedbackGeneratorQQ.Utils
{
using System.Windows;
using System.Windows.Data;
public class BinderHelper
{
/// <summary>
/// Basic model for binding
/// </summary>
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));
}
}
}