Я связываю свойство CustomerID в моем пользовательском элементе управления с тем же свойством в предке.Предком является TopLevelControl.
Я установил привязку в конструкторе дочернего элемента управления и получил доступ к свойству в OnApplyTemplate (), где я также выполняю некоторую другую инициализацию.Но мне кажется, что привязка не оценивается при вызове OnApplyTemplate ().Почему и когда он обновляется с помощью привязки?
Мой CustomChildControl:
public String CustomerID {
get{ return (bool) base.GetValue(CustomerIDProperty);}
set{ base.SetValue(CustomerIDProperty, value);}
}
public CustomChildControl()
{
binding = new Binding("CustomerID")
{
RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor, typeof(TopLevelControl),1)
};
SetBinding(CustomerIDProperty, binding);
}
override OnApplyTemplate(){
base.OnApplyTemplate();
// CustomerID is null here... why?
Initialize(CustomerID);
}