使用 ModelViewViewModel 的组合框中的默认值

Default Value in a Combobox using ModelViewViewModel

我想在此组合框中设置一个默认值。 ItemsSource 包含两个元素。当我打开包含我的组合框的 window 时,我希望第二个元素是默认元素。这是代码。

XAML:

<ComboBox Grid.Row="2" Name="_cmbServiceType" Visibility="Visible" 
                              SelectedValue="{Binding Path=FL_TYPE, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnValidationError=true}"
                              ItemsSource="{Binding Path= ClientList}"
                              SelectedValuePath="FL_TYPE"
                              DisplayMemberPath="ID_TYPE"
                              SelectedItem="{Binding Path=SelectedItem, UpdateSourceTrigger=PropertyChanged}"/>

视图模型:

    private ObservableCollection<GenericEnumType<string>> _clientList = null;
    public ObservableCollection<GenericEnumType<string>> ClientList
    {
       get
         {
                Master.Controller.Execute(delegate(IResult result)
                {
                    _clientList = new ObservableCollection<GenericEnumType<string>>() 
                        { 
                            new GenericEnumType<string>(SAPClient.WEBSERVICE_URL_500.ToString(), CappTranslate.Translate.EBOM),
                            new GenericEnumType<string>(SAPClient.WEBSERVICE_URL_400.ToString(), CappTranslate.Translate.PBOM),
                        };
                    return true;
                });

                return _clientList;
            }
        }

private GenericEnumType<string> _selectedItem = null;
public GenericEnumType<string> SelectedItem
{
     get { return _selectedItem; }
     set
         {
          _selectedItem = value;

          if (_selectedItem.FL_TYPE == SAPClient.WEBSERVICE_URL_500.ToString())
                       _selectedBomUsage = null;

          OnPropertyChanged(() => SelectedItem);
          OnPropertyChanged(() => CanClose);
          OnPropertyChanged(() => IsComboUsageEnabled);
          OnPropertyChanged(() => SelectedBomUsage);
         }
            }

我尝试在我的构造函数中设置:

SelectedItem = ClientList[1];

但是没用。

一些建议??

我会说,你不应该同时设置 SelectedValue 和 SelectedItem。

尝试只设置 SelectedItem。