ObservableCollection未绑定到组合框

时间:2016-09-08 09:30:12

标签: c# .net wpf xaml

只是想知道为什么我的ObservableCollection没有绑定到我的组合框 我没有得到任何错误,只是没有填充它。

public class TableList : ObservableCollection<TableName>
{
    public TableList() : base()
    {
        Add(new TableName(1, "Notes"));
        Add(new TableName(2, "TemplateNotes"));
    }
}

public class TableName
{
    private int noteID;
    private string noteName;

    public TableName(int ID, string name)
    {
        this.noteID = ID;
        this.noteName = name;
    }

    public int NoteID
    {
        get { return noteID; }
        set { noteID = value; }
    }

    public string NoteName
    {
        get { return noteName; }
        set { noteName = value; }
    }
}

这是我的XAML

<ComboBox 
    x:Name="noteSaveToSelection" 
    HorizontalAlignment="Left" 
    Height="35" 
    Margin="155,932,0,0" 
    VerticalAlignment="Top" 
    Width="180" 
    ItemsSource="{Binding TableList}" 
    DisplayMemberPath="NoteName" 
    SelectedValuePath="NoteID"/>

我是新手,所以如果我错过了一些小事我会道歉。

1 个答案:

答案 0 :(得分:4)

显然,您永远不会创建可以实际绑定到的TableList类的实例。

创建一个具有TableList属性的视图模型类,例如像

public class ViewModel
{
    public TableList TableList { get; } = new TableList();
}

然后将MainWindow的DataContext属性设置为视图模型类的实例:

public MainWindow()
{
    InitializeComponent();
    DataContext = new ViewModel();
}