C# ObservableCollection未绑定到组合框
只是想知道为什么我的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"));
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}。谢谢,没有视图模型也可以这样做,但我尝试了没有,并且成功了