Как правильно установить PropertyPath - PullRequest
1 голос
/ 07 июня 2011

Как правильно добавить PropertyPath?

Мне нужно связать UserControl DataContext с DataContext, TwoWay.

    var binding = new Binding()
                          {
                              Mode = BindingMode.TwoWay,
                              Source = ((FrameworkElement)sender),
                              Path = new PropertyPath(FrameworkElement.DataContextProperty)
                          };
    binding.Source = ((FrameworkElement) sender);
    changeImage.SetBinding(FrameworkElement.DataContextProperty, binding);

Ответы [ 2 ]

3 голосов
/ 07 июня 2011
binding.Path = new PropertyPath("DataContext")

Также будет полезно, если вы скажете, что не так с вашим кодом.

1 голос
/ 07 июня 2011

PropertyPath имеет строковый конструктор, который принимает путь свойства следующим образом:

  var binding = new Binding()
                {
                   Mode = BindingMode.TwoWay,
                   Source = ((FrameworkElement)sender),
                   Path = new PropertyPath("DataContext")
                };

В качестве альтернативы, Binding имеет конструктор, который создаст PropertyPath из аргумента give строки:

  var binding = new Binding("DataContext")
                {
                   Mode = BindingMode.TwoWay,
                   Source = ((FrameworkElement)sender)
                };
...