Я создал обычный элемент управления под названием TestCombobox, который я использую в своем проекте.Он заполняется с использованием данных, полученных с использованием DataAdapter.при нажатии клавиш, таких как F4, F5, F6, F7, запускаются различные опции и, соответственно, работают такие, как добавление новой строки, изменение выбранной строки и т. д.
В какой-то момент данные должны быть обновлены (свежийданные должны быть извлечены из базы данных и заполнены в выпадающем списке)
У меня нет никакого понимания MVVM.
Что я хочу сделать, это когда пользователь нажимает кнопку F5 в поле со списком подпрограмму RefreshCombo изкласс, установленный как DataContext, должен быть выполнен.
Вот мой код (придерживайтесь проблемы. Остальное пропущено)
Событие Custome, возникающее из Custom Control TestCombobox
public delegate void RefreshEvent();
public event RefreshEvent Refresh;
protected override void OnKeyUp(KeyEventArgs e)
{
if (e.Key == Key.F5) Refresh?.Invoke();
base.OnKeyUp(e);
}
Код из класса TestComboboxData
DataTable dt;
public DataTable Data
{
get => dt;
set
{
dt = value;
RaisePropertyChanged("Data");
}
}
int _id;
public int Id
{
get => _id;
set
{
_id = value;
RaisePropertyChanged("Id");
}
}
public void RefreshCombo()
{
//do something here
}
Код XAML
<local:TestCombobox ItemsSource="{Binding Data}" DisplayMemberPath="Co1" SelectedValuePath="Id"
SelectedValue="{Binding Id, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource SelValue}}"
/>
Спасибозаранее Амит