MVVM Combobox绑定

时间:2011-01-22 00:41:55

标签: mvvm combobox

我有一个组合框似乎没有更新它的视图模型。

在视图上我有

<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");
            }
        }
    }

组合框正在填充好,我似乎无法从中获得价值。

1 个答案:

答案 0 :(得分:14)

问题是你正在使用SelectedValuePath =“Name”只是删除它,它会起作用。

您的ComboBox将成为 -

<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}"/>