2017-02-02 3 views
0

Я заполнил поле со списком с помощью IEnumerable<string>Variables. Элементы отображаются правильно и позволяют пользователю выбирать параметр.Как отобразить выбранный элемент по умолчанию - Combobox C# WPF

<ComboBox Grid.Row="0" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" 
    x:Name="ofmvar" IsTextSearchEnabled="True" Width="150" Margin="2,2,2,2" 
    ItemsSource="{Binding Variables}" SelectionChanged="log_SelectionChanged" 
    SelectedItem="{Binding SelectedVar, NotifyOnValidationError=True, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}"/> 

В большинстве случаев (98%) пользователь выбирает один конкретный вариант из списка; позволяет называть его «A_Variable»., но иногда он может выбрать другую переменную из выпадающего списка; позволяет называть его "B_Variable".

Когда программа запускается, он ожидает, что поле со списком отобразит «A_Variable» по умолчанию в качестве выбора .. Это можно сделать?

Это как SelectedVar определяется:

public string SelectedVar 
     { 
      get { return _SelectedVar; } 
      set 
      { 
       if (_SelectedVar == value) return; 
       _SelectedVar = value; 

       OnPropertyChanged("SelectedVar"); 
      } 
     }    
     public string _SelectedVar; 

ответ

1

Установите значение SelectedVar имущества «A_Variable» или любое значение в Variables коллекции, которые вы хотите выделить в виде модели класса:

class ViewModel 
{ 
    public ViewModel() 
    { 
     Variables = new List<string> { "A_Variable", "B_Variable" }; 

     SelectedVar = "A_Variable"; //default selected value... 
    } 

    public IEnumerable<string> Variables { get; private set; } 

    private string _SelectedVar; 
    public string SelectedVar 
    { 
     get { return _SelectedVar; } 
     set 
     { 
      if (_SelectedVar == value) return; 
      _SelectedVar = value; 

      OnPropertyChanged("SelectedVar"); 
     } 
    } 

    //... 
} 
2

Поскольку SelectedItem обязан SelectedVar из ViewModel, просто установите SelectedVar значение по умолчанию в конструкторе ViewModel.

+0

Я добавил SelectedVar information..I нужно изменить что-то Вот? – user7157732

+0

№ В конструкторе: 'SelectedVar =" A_Variable ";' – clcto

+0

Я полностью потерян здесь :(Можете ли вы показать мне пример? @clcto – user7157732

Смежные вопросы