У меня есть тестовое приложение WPF, использующее Caliburn.Micro. Я пытаюсь создать с помощью ComboBox, который можно ввести. Связанная информация DataGrid будет обновляться / фильтроваться при вводе текста.
Проблема, с которой я сталкиваюсь, заключается в том, что, когда мое событие ExecuteSearch получает срабатывает. Он передает информацию до того, как текст был отредактирован. Мне интересно, как я могу получить текстовую информацию, передаваемую функции после нажатия клавиши.
Буду признателен за любую помощь. Соответствующий код ниже:
Просмотр:
<TextBlock Text="Search: " />
<ComboBox x:Name="SearchOptions"
IsEditable="True"
DisplayMemberPath="Search"
cal:Message.Attach="[Event KeyDown] = [Action ExecuteSearch($source)]"
MinWidth="200">
</ComboBox>
ViewModel:
public void ExecuteSearch(object searchText)
{
ComboBox searchbox = (ComboBox)searchInfo;
if (searchbox.Text != null && searchbox.Text != "")
{
string sql = "SELECT * FROM SearchItems WHERE PartNumber LIKE " + searchbox.Text +"";
SearchItems = SqliteConnector.LoadData<SearchItemsModel>(sql, new Dictionary<string, object>());
}
else
{
string sql = "SELECT * FROM SearchItems";
SearchItems = SqliteConnector.LoadData<SearchItemsModel>(sql, new Dictionary<string, object>());
}
}
Когда вызывается событие searchbox.Text == ""
, даже если было введено «0».
Любая помощь будет оценена.