C# 如果存在';下拉列表中只有1个条目
我在WPF中有一个组合框,我正在使用MVVM模式。当组合框项目选择被更改时,它会触发一个事件,该事件会执行一些操作。但是,如果下拉列表中只有一个条目,它将在我第一次选择它时触发该事件。之后,如果我再次选择它,它将不会调用SelectionChanged事件。有没有办法做到这一点 这是我的密码:C# 如果存在';下拉列表中只有1个条目,c#,wpf,mvvm,C#,Wpf,Mvvm,我在WPF中有一个组合框,我正在使用MVVM模式。当组合框项目选择被更改时,它会触发一个事件,该事件会执行一些操作。但是,如果下拉列表中只有一个条目,它将在我第一次选择它时触发该事件。之后,如果我再次选择它,它将不会调用SelectionChanged事件。有没有办法做到这一点 这是我的密码: <ComboBox x:Name="DataComboBox" MinWidth="125" Text="" Margin="5,3" VerticalAlignment="Center" G
<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中,选择更改事件仅在值更改时发生。下拉组合框并单击同一条目不会更改所选条目。因此不会触发任何事件。有其他方法可以做你想做的事,但不太可能需要它们。
您可以捕获单击组合框中某个条目的单击事件,并将其与更改的选择相同处理
如果需要刷新表单上的数据,可以添加“刷新数据”按钮