2017-02-02 16 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}"/> 

ユーザーがリストから1つの特定のオプションを選択する(98%)ほとんどの時間。それを"A_Variable"と呼ぶことができます。しかし時には彼はコンボボックスから別の変数を選択するかもしれません。 "B_Variable"と呼ぶことができます。

プログラムが起動するとき、彼はコンボボックスが"A_Variable"を選択として表示することを期待しています。これは可能ですか?

これはSelectedVarが定義されている方法です:SelectedItemはViewModelにのSelectedVarにバインドされているので

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

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

答えて

1

あなたのビューモデルクラスで選択したいVariablesコレクション内のどのような値SelectedVarプロパティを「A_Variable」の値を設定するか:私はSelectedVar information..Iが何かを変更する必要が追加

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

、ちょうどViewModelにのコンストラクタでデフォルト値にSelectedVarを設定します。

+0

ここに? – user7157732

+0

いいえコンストラクタで: 'SelectedVar =" A_Variable ";' – clcto

+0

私は完全にここで失われています:(あなたは私に例を教えてもらえますか?@clcto – user7157732

関連する問題