C# 如果存在';下拉列表中只有1个条目

C# 如果存在';下拉列表中只有1个条目,c#,wpf,mvvm,C#,Wpf,Mvvm,我在WPF中有一个组合框,我正在使用MVVM模式。当组合框项目选择被更改时,它会触发一个事件,该事件会执行一些操作。但是,如果下拉列表中只有一个条目,它将在我第一次选择它时触发该事件。之后,如果我再次选择它,它将不会调用SelectionChanged事件。有没有办法做到这一点 这是我的密码: <ComboBox x:Name="DataComboBox" MinWidth="125" Text="" Margin="5,3" VerticalAlignment="Center" G

我在WPF中有一个组合框,我正在使用MVVM模式。当组合框项目选择被更改时,它会触发一个事件,该事件会执行一些操作。但是,如果下拉列表中只有一个条目,它将在我第一次选择它时触发该事件。之后,如果我再次选择它,它将不会调用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
    }

私有字符串selectedItem;
公共字符串SelectedItem
{
获取{return selectedItem;}
设置
{
如果(值!=selectedItem)
{
选择editem=值;
OnPropertyChanged(“SelectedItem”);
SelectedItemsChanged();
}
}
}
私有void SelectedImagesChanged()
{
//做些工作
}

在WPF中,选择更改事件仅在值更改时发生。下拉组合框并单击同一条目不会更改所选条目。因此不会触发任何事件。

有其他方法可以做你想做的事,但不太可能需要它们。
您可以捕获单击组合框中某个条目的单击事件,并将其与更改的选择相同处理
如果需要刷新表单上的数据,可以添加“刷新数据”按钮