Существуют два разных источника данных разных типов? Или это два разных экземпляра одного типа?
Я спрашиваю, потому что решение, которое вы запрашиваете - создание привязки во время выполнения, может быть излишне сложным. Обычно вам не нужно создавать привязки во время выполнения, чтобы решить описанную проблему. Из того, что вы сказали до сих пор о проблеме, похоже, что гораздо более простое решение должно работать.
Общепринято иметь несколько экземпляров определенного пользовательского элемента управления и для каждого экземпляра привязываться к другому исходному объекту. Вы можете сделать это с помощью обычных выражений привязки данных в Xaml. Хитрость заключается в том, чтобы полагаться на DataContext, чтобы определить, какой конкретный пользовательский элемент управления использует в качестве своего источника. Например:
<my:MyUserControl DataContext="{Binding Path=Source1}" />
<my:MyUserControl DataContext="{Binding Path=Source2}" />
Это будет создавать два экземпляра пользовательского элемента управления пользователя, MyUserControl и любые привязки в первой присоединит к тому, что объект был в Source1, в то время как второй будет использовать source2. Так что, если MyUserControl.xaml содержит что-то вроде этого:
<TextBlock Text="{Binding Path=Name}" />
то, что связывается с именем свойства двух различных исходных объектов в двух различных случаях управления пользователем.
В этом заявлении указано, что каждый пользовательский элемент управления «должен быть привязан к другому источнику данных».
Не обижайтесь, но мне интересно, как вы в конечном итоге должны создавать привязку динамически. –
Пользователь сам должен создавать привязки между пользовательским интерфейсом и источником данных. Во время создания приложения я не знаю, какой именно DP потребуется и какой объект привязан к тому источнику данных. Поэтому мне нужно было создать их динамически. – Vitalij