Я создал пользовательский элемент управления UserControl, который содержит один комбинированный список.Текущее выбранное значение в выпадающем списке привязано к пользовательскому свойству зависимостей UserControls.
XAML:
<UserControl>
<ComboBox
ItemsSource="{Binding AllEntries}"
SelectedItem="{Binding SelectedEntry}" />
</UserControl>
Код позади:
public partial class MyCombobox : UserControl
{
public static DependencyProperty SelectedEntryProperty =
DependencyProperty.Register("SelectedEntry",
typeof(ComboboxEntry),
typeof(MyCombobox));
public ComboboxEntry SelectedEntry
{
get { return (ComboboxEntry)GetValue(SelectedEntryProperty); }
set { SetValue(SelectedEntryProperty, value); }
}
}
Теперь проблема в томдругой компонент включает в себя этот расширенный контроль combobox.В управляющем элементе я хочу запустить некоторую логику, когда пользователь выбирает новое значение в выпадающем списке.Я немного растерялся относительно того, как я настроил этот крючок.Должны ли MyCombobox
предоставлять пользовательское событие, которое вызывается из обратного вызова PropertyChanged в свойстве зависимостей SelectedEntry?Кажется хаки, но я не могу найти другой способ.