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. 我想通过在用户按下按钮然后用户按下回车并将文本添加TextBox到.ListBoxTextBoxListBox

我尝试将文本框添加到列表框中,但我只能添加一种类型ListBox.ItemTemplate,我该如何处理?

4

3 回答 3

2

更新为在列表框中添加文本框:

要将新项目添加到 ListBox,请在 Button Click 代码隐藏中执行以下操作:

TextBox TextBoxItem = new TextBox();
// set TextBoxItem properties here
PlaylistList.Items.Add(TextBoxItem);
于 2013-03-04T13:05:23.467 回答
0

你的列表框:

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

为 ListBox 的项目创建一个 ObversableCollection

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

items = new ObservableCollection<IdObject>();

在这种情况下,我的 ID-Object 具有以下属性:

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

将集合绑定到 ListBox:

MyListBox.ItemsSource = items;

然后制作一个带有 Button 的 TextBox,以及一个按下按钮的事件,在其中将文本添加到 observable 集合中:

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

当 ObservableCollection 更改时,ListBox 将更新

于 2013-03-04T12:52:21.217 回答
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();

         }
      }
于 2017-05-31T01:49:49.470 回答