[英]WPF Listbox - data binding problem
我有這個問題,當我運行應用程序時,我看到帶有“紅色”,“藍色”,“黃色”項目的列表框。 但是,當我在textBox1中鍵入“ black”並按Button1時,不會添加項目。 知道為什么嗎?
public partial class Window1 : Window
{
private static ArrayList myItems = new ArrayList();
public Window1()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
listBox1.ItemsSource = myItems;
myItems.Add("red");
myItems.Add("blue");
myItems.Add("yellow");
}
private void button1_Click(object sender, RoutedEventArgs e)
{
myItems.Add(textBox1.Text);
}
}
您應該用ObservableCollection <string>替換ArrayList,當內容更改時,該數組將與ListBox通信。
這是因為視圖(在這種情況下為列表框)未獲悉更改。
您應該實現INotifyProperyChanged
或簡單地重置itemsSource:
private void button1_Click(object sender, RoutedEventArgs e)
{
myItems.Add(textBox1.Text);
// refresh:
listBox1.ItemsSource = myItems;
}
(盡管肯定使用OnPropertyChanged是更好的做法。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.