Как отобразить данные на основе ввода пользователя в поле со списком wpf - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть поле со списком, в котором пользователь может вводить данные, и оно будет отображать соответствующие значения, основанные на выборе, но если пользователь вводит любой символ, такой как «C», по умолчанию он отображает первое соответствующее слово «CAR» и соответствующие данные в других полях.

, если пользователь изменяет введенные данные, не очищается в других полях.

если пользователь вводит значения, отличные от значений, существующих в раскрывающемся списке, он по-прежнему отображает значения, которые были ранее заполнены и не очищались вообще.

Я хочу автоматически заполнить поле со списком на основе ввода пользователя, чтобы пользователь мог выбрать из выпадающего списка, и если пользователь вводит любое значение, которого нет в выпадающем списке, все автоматически заполняемые должны быть очищены.

Ответы [ 2 ]

0 голосов
/ 01 мая 2019

Внося следующие изменения в xaml, он отлично работает

TextSearch.Text = "{Binding usertext}" Text = "{Binding ticketText}" IsEnabled = "{Binding IsTicketEnable}" ItemsSource = "{Binding LstTicket} "DisplayMemberPath =" ticket "ValuePath =" ticket "SelectedItem =" {Binding SelectedTicket} "TextChanged =" cmbTicket_TextChanged "SelectedItemChanged =" cmbTicket_SelectedItemChanged "

0 голосов
/ 10 апреля 2019

Из вашего вопроса я понимаю, что вы можете использовать событие lostfocus в свойстве Text вместо SelectedItem

 <ComboBox KeyUp="cmbDevice_KeyUp" IsEditable="True" x:Name="cmbDevice" TextSearchEnabled="True" Text="{Binding SelectedDevice,UpdateSourceTrigger=LostFocus}" ItemsSource="{Binding DeviceList }">
                        <ComboBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <VirtualizingStackPanel />
                            </ItemsPanelTemplate>
                        </ComboBox.ItemsPanel>
                    </ComboBox>
 private void cmbDevice_KeyUp(object sender, KeyEventArgs e)
        {
            cmbDevice.IsDropDownOpen = true;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...