从ViewModel绑定WPF ComboBox的数据 - 无法更改所选项

时间:2011-09-17 21:45:31

标签: wpf data-binding mvvm

我会立刻解决这个问题...我的基本视图模型类正在实现INotifyPropertyChanged。这是场景:

我有一个单一视图模型的视图。该视图是主/详细信息,其中master是Game个对象的列表框,我正在填充而没有问题。在主列表框中选择Game对象时,我想在各种控件中填充一些详细信息。导致我出现问题的控件是一个组合框。

现在,正在使用combobox个对象的集合填充Team。每个Game对象都有一个“团队”对象,填充combobox后,我想在Team combobox中选择相应的Game对象textbox object指定。

现在,我知道这在某种程度上有效,因为如果我对Team执行相同的绑定,则会显示正确的信息(我可以使textbox绑定对象出现在{{ 1}},但我无法从列表中选择。)

我很失落,现在已经工作了几个小时。有人可以帮忙吗?

编辑:我觉得这与对象引用有关。但是SelectedValue不会仍然有用吗?

1 个答案:

答案 0 :(得分:2)

视图模型:

    public ObservableCollection<Team> Teams
    {
        get { return this.teams; }
        set
        {
            this.teams = value;
            OnPorpertyChanged("Teams");
        }
    }

    public Team SelectedTeam
    {
        get { return this.selectedTeam; }
        set
        {
            this.selectedTeam = value;
            OnPorpertyChanged("SelectedTeam");
        }
    }

    private ObservableCollection<Team> teams;
    private Team selectedTeam;

团队课程:

    public class Team
    {
        public string Name { get; set; }    
    }

查看:

        <ComboBox DisplayMemberPath="Name"
              ItemsSource="{Binding Teams}" 
              SelectedItem="{Binding Mode=OneWayToSource, Path=SelectedTeam}" />