Я действительно не знаю, как искать, чтобы найти решение этой проблемы (я много гуглил, может быть, я слепой ...).
У меня есть ComboBox, который также содержит TextBox. ComboBox создается в отдельном Control.xaml с указанным c DataContext, где он получает свое содержимое для всплывающего списка. Теперь, когда я что-то печатаю в TextBox, я хочу вызвать метод, который затем фильтрует список моего DataContext для указанных элементов c. Итак, мой ComboBox.cs имеет следующее содержимое:
public event EventHandler FilterTextChanged;
protected virtual void OnFilterTextChanged(EventArgs args)
{
FilterTextChanged?.Invoke(FilterText, args);
}
public string FilterText
{
get { return _filterText; }
set
{
//This point is reached when I type something into the TextBox within the ComboBox
if (_filterText == value) return;
_filterText = value;
OnFilterTextChanged(EventArgs.Empty);
OnPropertyChanged("FilterText");
}
}
И в моем Control.xaml я настроил его так:
<my:ComboBox x:Name="FURecipeComboBox"
AuthorizationMode="IsEnabled"
IsTextSearchEnabled="False"
StaysOpenOnEdit="True"
FilterTextChanged="FURecipeComboBox_OnFilterTextChanged"
ItemsSource="{Binding RecipeFileNames}"
SelectedItem="{Binding Value, Delay=100, ElementName=AlphaNumericTouchpadTextVarIn}"
d:DataContext="{d:DesignInstance {x:Type adapter:ToolRecipeVariableInfo}, IsDesignTimeCreatable=False}">
</my:ComboBox>
Но я просто не могу получить его, чтобы перехватить событие «FilterTextChanged», и мой метод «FURecipeComboBox_OnFilterTextChanged» не будет достигнут в любое время ... Я был бы очень рад некоторым подсказкам или помощи!
С уважением, BB