Я использую элемент управления списком в моем приложении wpf. Вот как это выглядит
<ComboBox Name="cmbCities" IsTextSearchEnabled="True" IsEditable="True" IsDropDownOpen="True" StaysOpenOnEdit="True" KeyUp="cmbCities_KeyUp" SelectedValue="{Binding SelectedCity}" ItemsSource="{Binding Cities}" SelectedValuePath="CityId" Height="30">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}: {1}">
<Binding Path="CityName"/>
<Binding Path="Url"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Я пытаюсь сделать этот список редактируемым, чтобы при его наборе отфильтровывать содержал параметры из списка. делает это правильно. Это код фильтра в xaml.cs
private void cmbCities_KeyUp(object sender, KeyEventArgs e)
{
CollectionView itemsViewOriginal = (CollectionView)CollectionViewSource.GetDefaultView(cmbCities.ItemsSource);
itemsViewOriginal.Filter = (o) =>
{
if (((SqlGetAllCitiesResponse)o).CityName.Contains(cmbCities.Text))
{
return true;
}
else
{
return false;
}
};
itemsViewOriginal.Refresh();
}
Проблема в том, что клавиши со стрелками вверх и вниз на клавиатуре не работают, чтобы выбрать отображение отфильтрованного списка, и если попытаться выбрать с помощью мыши, то это не показывает выбранный текст опции в выпадающем списке. Он показывает модель класса ответа, выбранную в выпадающем списке при выборе мышью. Пожалуйста, помогите мне, чтобы я мог выбрать с помощью клавиш со стрелками в Combox, а также с помощью мыши ...