只是想知道为什么我的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"/>
我是新手,所以如果我错过了一些小事我会道歉。
答案 0 :(得分:4)
显然,您永远不会创建可以实际绑定到的TableList类的实例。
创建一个具有TableList
属性的视图模型类,例如像
public class ViewModel
{
public TableList TableList { get; } = new TableList();
}
然后将MainWindow的DataContext
属性设置为视图模型类的实例:
public MainWindow()
{
InitializeComponent();
DataContext = new ViewModel();
}