MVVM Combobox绑定

Sco*_*ott 4 combobox 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}"/>
Run Code Online (Sandbox Code Playgroud)

在视图模型中我有

    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");
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

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

Jas*_*inn 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}"/>
Run Code Online (Sandbox Code Playgroud)