Как вызвать событие Combobox Selection Changed, если в выпадающем меню есть только 1 запись - PullRequest
0 голосов
/ 17 октября 2019

У меня есть Combobox в WPF, и я использую шаблон MVVM. Когда выбор элемента в выпадающем списке изменяется, он запускает событие, которое делает несколько вещей. Но если в выпадающем списке есть только 1 запись, событие запускается впервые, когда я выбираю его. После этого, если я выберу его снова, он не вызовет событие SelectionChanged. Есть ли способ сделать это?

Вот мой код:

  <ComboBox x:Name="DataComboBox" MinWidth="125" Text="" Margin="5,3" VerticalAlignment="Center"  Grid.Row="8" Grid.Column="1" Style="{StaticResource ComboBoxFlatStyle}"
    IsEditable="True" IsReadOnly="True" ItemsSource="{Binding ComboBoxList}" DisplayMemberPath="Scan_File_Name" SelectedItem="{Binding SelectedItems}"></ComboBox>

    private string selectedItem;

    public string SelectedItem
    {
        get { return selectedItem; }
        set
        {
            if (value != selectedItem)
            {
                selectedItem= value;
                OnPropertyChanged("SelectedItem");
                SelectedItemsChanged();
            }

        }
    }


    private void SelectedImagesChanged()
    {
          //Do some work
    }

1 Ответ

1 голос
/ 17 октября 2019

В WPF событие изменения выбора происходит только при изменении значения. Если опустить поле со списком и щелкнуть ту же запись, это не изменит выбранную запись. Поэтому ни одно событие не происходит. Есть и другие способы сделать то, что вы хотите, но вряд ли они нужны. Можно поймать событие click для нажатия на запись в выпадающем списке и обработать ее так же, как измененный выборЕсли необходимо обновить данные в форме, можно вместо этого добавить кнопку ОБНОВИТЬ ДАННЫЕ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...