WPF-привязка к явно реализованному свойству интерфейса из кода / прикрепленного поведения

Я пытаюсь настроить привязку к явно реализованного имущества интерфейс из кода. Причина привязки кода заключается в том, что путь к свойству bound можно определить только во время выполнения.

в XAML можно связать таким образом (пример в MainWindow.XAML-код):

<TextBox Text="{Binding (local:IViewModel.Property)}"/>

и на самом деле привязка в коде позади работает аналогичным образом (из MainWindow.код XAML.cs):

var binding = new Binding("(local:IViewModel.Property)");

так как WPF может забрать отображение пространства имен.

мой вопрос в том, как я могу сформировать привязку, когда отображение пространства имен отсутствует (например, в прикрепленном поведении)?

заранее большое спасибо!

1 ответов


вы бы указали полный PropertyPath:

var propertyInfo = typeof(IViewModel).GetProperty("Property");
var propertyPath = new PropertyPath("(0)", propertyInfo);
var binding = new Binding
{
    Path = propertyPath
};

более подробно о синтаксисе передаются PropertyPath выше PropertyPath.Path.