Есть вот такое свойство у моего контрола
public ObservableCollection<object> Items
{
get => (ObservableCollection<object>)GetValue(ItemsProperty);
set
{
SetValue(ItemsProperty, value);
}
}
Еще есть статический конструктор с DependencyProperty
public static readonly DependencyProperty ItemsProperty;
static FilteredListBox()
{
ItemsProperty = DependencyProperty.Register("Items",
typeof(ObservableCollection<object>),
typeof(FilteredListBox),
new FrameworkPropertyMetadata(new ObservableCollection<object>(),
FrameworkPropertyMetadataOptions
.AffectsMeasure
| FrameworkPropertyMetadataOptions
.AffectsRender,
new PropertyChangedCallback(OnItemsChanged)));
}
И в разметке контрола есть лист бокс, который привязывается к свойству контрола.
<ListBox Name="_listBox"
ItemsSource="{Binding Items}"
/>
Когда использую свой контрол на форме, привязка не работает, т.е. в коллекцию добавляются элементы. но они не появляются в списке.
<ctrls:MyListBox Items="{Binding Departments}"/>
Как правильно пробросить свойство из контрола ?