Если SourceDependencyObject является DependencyObject
, кажется, что мы должны быть в состоянии получить название от SourceDependencyProperty и установить на Binding.Path
.
Например:
TextBlock SourceDependencyObject = new TextBlock();
SourceDependencyObject.Text = "Hello";
TextBlock TargetDependencyObject = new TextBlock();
Binding myBinding = new Binding();
myBinding.Source = SourceDependencyObject;
myBinding.Path = new PropertyPath("Text");
BindingOperations.SetBinding(TargetDependencyObject, TextBlock.TextProperty, myBinding);
Debug.WriteLine(TargetDependencyObject.Text);
Если мы не устанавливаем путь, то TargetDependencyProperty будет указывать на SourceDependencyObject.
Так что если SourceDependencyObject является string
, int
или другим типом. Нам не нужно устанавливать Binding.Path.
Например:
TextBlock SourceDependencyObject = new TextBlock();
SourceDependencyObject.Text = "Hello";
TextBlock TargetDependencyObject = new TextBlock();
Binding myBinding = new Binding();
myBinding.Source = SourceDependencyObject.Text;
//myBinding.Path = new PropertyPath("Text");
BindingOperations.SetBinding(TargetDependencyObject, TextBlock.TextProperty, myBinding);
Debug.WriteLine(TargetDependencyObject.Text);
Любые обновления? Помог ли мой ответ решить проблему? –