WPF 中的自动完成文本框绑定 IEnumerable<String>
AutoComplete TextBox in WPF bind IEnumerable<String>
我在 https://github.com/Nimgoble/WPFTextBoxAutoComplete/
找到了一个图书馆
但我卡在了第 3 步
创建一个文本框并将 "AutoCompleteItemsSource" 绑定到 IEnumerable
集合
我在 https://docs.microsoft.com/en-us/dotnet/api/system.collections.ienumerable?view=netframework-4.8
尝试教程
但是还是不行,不知道是哪里出了问题
这是我的代码
https://github.com/BudinMilk/textbox_autocomplete/tree/master/textbox_autocomplete
谢谢!
我查看了您的代码并尝试了这些更改,我认为它对您有用。
public partial class MainWindow : Window
{
public MainWindow()
{
this.DataContext = this;
InitializeComponent();
TestItems = new ObservableCollection<string>()
{
"Apple",
"Banana",
"Carrot",
"Dog",
"Elderberry",
"Fruit",
"Grapes",
"Honey",
"Iron"
};
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
Person[] peopleArray = new Person[3]
{
new Person("John"),
new Person("Jim"),
new Person("Sue"),
};
People peopleList = new People(peopleArray);
foreach (Person p in peopleList)
Console.WriteLine(p.Name);
Console.ReadLine();
}
private ObservableCollection<string> testItems ;
public ObservableCollection<string> TestItems
{
get { return testItems; }
set
{
testItems= value;
OnPropertyChanged("TestItems");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler == null) return;
handler(this, new PropertyChangedEventArgs(name));
}
}
我在 https://github.com/Nimgoble/WPFTextBoxAutoComplete/
找到了一个图书馆但我卡在了第 3 步
创建一个文本框并将 "AutoCompleteItemsSource" 绑定到 IEnumerable
集合我在 https://docs.microsoft.com/en-us/dotnet/api/system.collections.ienumerable?view=netframework-4.8
尝试教程但是还是不行,不知道是哪里出了问题
这是我的代码
https://github.com/BudinMilk/textbox_autocomplete/tree/master/textbox_autocomplete
谢谢!
我查看了您的代码并尝试了这些更改,我认为它对您有用。
public partial class MainWindow : Window
{
public MainWindow()
{
this.DataContext = this;
InitializeComponent();
TestItems = new ObservableCollection<string>()
{
"Apple",
"Banana",
"Carrot",
"Dog",
"Elderberry",
"Fruit",
"Grapes",
"Honey",
"Iron"
};
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
Person[] peopleArray = new Person[3]
{
new Person("John"),
new Person("Jim"),
new Person("Sue"),
};
People peopleList = new People(peopleArray);
foreach (Person p in peopleList)
Console.WriteLine(p.Name);
Console.ReadLine();
}
private ObservableCollection<string> testItems ;
public ObservableCollection<string> TestItems
{
get { return testItems; }
set
{
testItems= value;
OnPropertyChanged("TestItems");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler == null) return;
handler(this, new PropertyChangedEventArgs(name));
}
}