1

こんばんは。私はテクノロジーの研究を始めました - c# の wpf 今、私はセクションで停止しました - ツリービューで作業する タスクのツリービューに新しいノードを追加したいです。

このフォームにフォームとボタンがあります:

...
<Button Name="btn1" Click="ShowForWriteAdrBookName" Content="TestBtn"/>
...

私のフォームでプログラムを実行すると、ツリービューを持つ UserControl が読み込まれます。

...
<TreeView Name="treeView1"></TreeView>
...

を押すと

...
<Grid>
        <Label Name="Label1" Content="Имя адресной книги:" Margin="0,20,0,0"></Label>
        <TextBox Name="TextBox1" Width="200" Height="30" Margin="90,-40,0,0"></TextBox>
        <Button Content="Ок" Width="80" Height="30" Margin="0,50,0,0" Click="GetAdrBookName"></Button>
        <Button Content="Отмена" Width="80" Height="30" Margin="200,50,0,0" Click="MyExit"></Button>
</Grid>
...

TextBox にテキストを入力したら、[OK] をクリックします。関数が呼び出されます:

...
public void GetAdrBookName(object sender, RoutedEventArgs e) 
        {
            if (String.Compare(TextBox1.Text.ToString(), "") != 0)
            {
                adrName = TextBox1.Text.ToString().Trim();
                this.Close();
                CreateAdrBook(adrName);
            }
            else 
            {
                ...
            }
        }
...

この関数では、テキスト ボックスから情報を読み取ります。次に、別の関数を呼び出します。

...
public void CreateAdrBook(string adrNameFromTextBox1)
        {
            mylist.Add(adrNameFromTextBox1);
            int s = mylist.Count;
            TreeView();
    }
...

この関数では、テキスト ボックスから取得する情報をコレクションに追加します。

...
ObservableCollection<string> mylist = new ObservableCollection<string>() 
        { 
        "A",
        "B",
        "C"
        };
...

コレクションにさらに情報を追加した後、この情報を関数内の TreeView に追加します。

...
void TreeView()
        {
            foreach (var drive in mylist)
            {
                TreeViewItem item = new TreeViewItem();
                item.Tag = drive;
                item.Header = drive.ToString();
                item.Items.Add("*");
                treeView1.Items.Add(item);
                treeView1.Items.Refresh();
                treeView1.UpdateLayout();

            }
        }
...

質問: この TreeView に新しい要素を追加した後、TreeView を更新するにはどうすればよいですか? ありがとうございました!

4

0 に答える 0