2013-03-04 39 views
2

添加項目到列表框控件我有這個ListBox從文本框

<ListBox x:Name="PlaylistList" AlternationCount="2" SelectionChanged="DidChangeSelection"> 
     <ListBox.GroupStyle> 
      <GroupStyle /> 
     </ListBox.GroupStyle> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <TextBlock Text="{Binding Name}"/> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

,我想添加選項,新的項目添加到ListBox。我想通過在ListBox上添加一個TextBox來實現,當用戶按下一個按鈕,然後用戶按下Enter並將TextBox中的文本添加到ListBox

我嘗試添加文本框到列表框中,但我只能添加一個類型ListBox.ItemTemplate,我該如何處理它?

回答

0

你的列表框:

<ListBox 
    Name="MyListBox" 
    ItemsSource="{Binding Path=Reason}" 
    DisplayMemberPath="Description"/> 

做一個ObversableCollection爲ListBox的項目

public ObservableCollection<IdObject> items 
{ 
    get { return (ObservableCollection<IdObject>)GetValue(ApplicationsProperty); } 
    set { SetValue(ApplicationsProperty, value); } 
} 

items = new ObservableCollection<IdObject>(); 

我的ID,對象在這種情況下,具有以下特性:

private int _id = 0; 
private string _description = ""; 

綁定收藏到列表框中:

MyListBox.ItemsSource = items; 

然後做一個按鈕一個文本框,並按下按鈕,您的文本添加到觀察集合的事件:

items.Add(new IdObject(someId, TextBox.Text)); 

列表框將更新,當的ObservableCollection改變

+0

但我如何將文本框添加爲項目之一? – MTA 2013-03-04 13:05:01

+0

所以你想讓TextBox在ListBox中? – 2013-03-04 13:10:00

+0

是的,像itunes應用程序的東西.... – MTA 2013-03-04 13:12:16

1

更新添加文本框內部列表框:

爲新的項目加入到列表框,在按鈕單擊代碼隱藏做到:

TextBox TextBoxItem = new TextBox(); 
// set TextBoxItem properties here 
PlaylistList.Items.Add(TextBoxItem); 
+1

但我如何添加一個新的項目,這將是一個文本框 – MTA 2013-03-04 13:07:13

+0

我更新了答案。希望能幫助到你。 – 2013-03-04 13:19:01

0

單擊按鈕時寫下此代碼,以便將文本框文本添加到列表框中。

private void addEventButton_Click(object sender, EventArgs e) 
    { 


     // Adds events to listbox. 
     if (this.titleTextBox.Text != "") 
     { 
      listBox1.Items.Add(this.titleTextBox.Text); 
      listBox2.Items.Add(this.titleTextBox.Text); 
      this.titleTextBox.Focus(); 
      this.titleTextBox.Clear(); 

     } 
     }