C# ObservableCollection未绑定到组合框

C# ObservableCollection未绑定到组合框,c#,.net,wpf,xaml,C#,.net,Wpf,Xaml,只是想知道为什么我的ObservableCollection没有绑定到我的组合框 我没有收到任何错误,只是没有填充它 public class TableList : ObservableCollection<TableName> { public TableList() : base() { Add(new TableName(1, "Notes")); Add(new TableName(2, "TemplateNotes"));

只是想知道为什么我的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"/>

我是新来的,所以如果我错过了一些小的东西,我向您道歉。

显然,您从未创建您的TableList类的实例,您可以实际绑定到它

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

public class ViewModel
{
    public TableList TableList { get; } = new TableList();
}
然后将主窗口的DataContext属性设置为视图模型类的实例:

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

显然,您从来没有创建过可以实际绑定到的TableList类的实例

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

public class ViewModel
{
    public TableList TableList { get; } = new TableList();
}
然后将主窗口的DataContext属性设置为视图模型类的实例:

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

您是否检查了输出窗口中的绑定问题?还可以尝试使用Snoop之类的方法检查UI,看看它实际上绑定到了什么?它似乎绑定到了TableList,但集合是TableList。你能查一下吗?如果不起作用,您可以在代码中发布组合绑定到的属性吗?TableList是一种类型,但我猜您绑定到该类型的属性。你能给我们看看这个属性吗?刚才注意到,我绑定到了带有“s”的表列表,我已经删除了它,但仍然无法工作@slawekwin不是类型TableName吗?抱歉,我是新来的Chave您是否检查了输出窗口的绑定问题?还可以尝试类似Snoop的方法来检查UI并查看它实际绑定到了什么它似乎绑定到了TableList,但集合是TableList。你能查一下吗?如果不起作用,您可以在代码中发布组合绑定到的属性吗?TableList是一种类型,但我猜您绑定到该类型的属性。你能给我们看看这个属性吗?刚才注意到,我绑定到了带有“s”的表列表,我已经删除了它,但仍然无法工作@slawekwin不是类型TableName吗?很抱歉,我对COh很陌生,好吧,我会尝试一下,我是按照这一点来达到现在的状态的。您也可以不使用ViewModel类直接分配DataContext=new TableList;。然后绑定将在没有路径的情况下编写:ItemsSource={binding}。谢谢,没有视图模型也可以,我确信也可以,但是我尝试了没有,它也可以。好的,我会试试看,我是按照这个方法来的,现在你也可以不用ViewModel类直接分配DataContext=new TableList;。然后绑定将在没有路径的情况下编写:ItemsSource={binding}。谢谢,没有视图模型也可以这样做,但我尝试了没有,并且成功了