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。そして、ユーザーがボタンを押したときに にaTextBoxを追加してから、ユーザーが Enter キーを押して にテキストを追加することでそれを実行したいと考えています。ListBoxTextBoxListBox

リストボックスにテキスト ボックスを追加しようとしましたが、1 つのタイプしか追加できませListBox.ItemTemplateん。どうすれば処理できますか?

4

3 に答える 3

2

リストボックス内にテキストボックスを追加するように更新されました:

ListBox に新しい項目を追加するには、ボタン クリックのコード ビハインドで次のようにします。

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 オブジェクトには、次のプロパティがあります。

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

コレクションを ListBox にバインドします。

MyListBox.ItemsSource = items;

次に、ボタンを使用して TextBox を作成し、ボタンを押すためのイベントを作成します。ここで、テキストを監視可能なコレクションに追加します。

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 に答える