Есть некий UserControl, в котором описано DependencyProperty :
public class MyControl : UserControl
{
public static readonly MyItemsProperty = DependencyProperty.Register( "MyItems", typeof( IEnumerable<MyObject> ), typeof( MyControl ) );
public IEnumerable<MyObject> MyItems
{
get{ return (IEnumerable<MyObject>)GetValue( MyItemsProperty );
set{ SetValue( MyItemsProperty, value ); }
}
}
Далее в коде данный контрол создается динамически и к нему привязывается коллекция
var coll = new ObservableCollection<MyObject>();
..
MyControl ctrl = new MyControl();
ctrl.SetBinding( MyControl.MyItemsProperty, new Binding(){ Source = coll } );
Но значение свойству не присваивается, почему-то даже не происходит попытки его инициализировать ( если вставить в binding IValueConvertor, то не вызывается ни Convert, ни ConvertBack ).
Хотелось бы понять как работает Binding, например когда я вызываю SetBinding то осуществляется подписка на изменение свойства или что-то еще из за чего данный код не работает ?