2011-01-22 45 views
4

コンボボックスはビューモデルを更新していないようです。私は、ビューモデルでMVVMコンボボックスのバインド

<ComboBox Grid.Row="0" 
      Grid.Column="1" 
      ToolTip="Current rank of the officer" 
      ItemsSource="{Binding Path=RanksAvailable}" 
      DisplayMemberPath="Name" 
      SelectedValuePath="Name" 
      SelectedValue="{Binding Path=SelectedRank, Mode=TwoWay}"/> 

を持つビューで

私は

public List<Rank> RanksAvailable {get; set;} 
    private Rank _selectedRank; 

    public Rank SelectedRank 
    { 
     get { return _selectedRank; } 
     set 
     { 
      if (_selectedRank != value) 
      { 
       _selectedRank = value; 
       this.isDirty = true; 
       RaisePropertyChanged("SelectedRank"); 
      } 
     } 
    } 

コンボボックスは、私はちょうどそれから値を取得するように見えることができない、大丈夫移入されています。

答えて

14

問題はSelectedValuePath = "Name"を使用しているため、それを削除するだけで問題なく動作します。

あなたのコンボボックスはbecome-ます

<ComboBox Grid.Row="0" 
      Grid.Column="1" 
      ToolTip="Current rank of the officer" 
      ItemsSource="{Binding Path=RanksAvailable}" 
      DisplayMemberPath="Name" 
      SelectedValue="{Binding Path=SelectedRank, Mode=TwoWay}"/> 
関連する問題