こんばんは。私はテクノロジーの研究を始めました - 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 を更新するにはどうすればよいですか? ありがとうございました!