晚上好。 我开始研究这项技术 - 在c#中使用wpf 现在我停在了这个部分 - 使用treeview 我想在我的树视图中添加一个新节点。
我在此表单上有一个表单和按钮:
...
<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中输入文本后,单击“确定”。函数被称为:
...
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? 谢谢!