我有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
添加ListBox
,然后用户按回车键并将TextBox
中的文字添加到ListBox
}。
我尝试将文本框添加到列表框但我只能添加一种ListBox.ItemTemplate
,我该如何处理?
答案 0 :(得分:2)
已更新以在列表框中添加文本框:
要将新项目添加到ListBox,请在Button Click代码隐藏中执行:
TextBox TextBoxItem = new TextBox();
// set TextBoxItem properties here
PlaylistList.Items.Add(TextBoxItem);
答案 1 :(得分:0)
你的ListBox:
<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将更新
答案 2 :(得分: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();
}
}