簡體   English   中英

WPF列表框-數據綁定問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM