可以';t在WPF中将列表链接到组合框
本文关键字:列表 链接 组合 WPF 可以 | 更新日期: 2023-09-27 18:25:21
所以我有一个简单的组合框:
<ComboBox ItemsSource="{Binding Path=list_match}"/>
如您所见,该组合框绑定到"list_match";我在代码中创建的:
public List<string> list_match = new List<string>();
在代码的某个时刻,我执行以下调用:
load_combo(list_match);
此行将列表发送到一个函数:
public void load_combo(List<string> list)
{
using (StreamReader reader = new StreamReader("combo.txt"))
{
while (reader.Peek() > -1)
{
string line = reader.ReadLine();
list.Add(line);
}
reader.Close();
}
}
由于某种原因,我总是得到一个空的组合框,并且列表没有绑定到该组合框。我错过了什么?
假设相应地设置了DataContext
,则应使用实现INotifyCollectionChanged
接口的ObservableCollection<T>
,如果您希望看到UI中反映的对集合的更改,并且无法绑定到字段,则list_match
应为公共属性
public ObservableCollection<string> list_match { get; set; }
编辑
假设您有MyWindow
窗口,其中包含您的ComboBox
public partial class MyWindow : Window
{
private readonly ObservableCollection<string> _list_match = new ObservableCollection<string>();
public ObservableCollection<string> list_match { get { return _list_match; } }
public MyWindow()
{
InitializeComponent();
this.DataContext = this;
}
}