WPF 中的treeview的相关操作

TREEVIEW的相关操作主要是1.动态添加节点的节点2.对节点的操作a.修改某节点的节点的名字/类型b.获取某节点的节点的信息最好能有实例视答案+分... TREEVIEW的相关操作
主要是
1.动态添加节点的节点
2.对节点的操作
a.修改某节点的节点的名字/类型
b.获取某节点的节点的信息
最好能有实例
视答案+分
展开
 我来答
Yeshirow
2009-11-04 · TA获得超过340个赞
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:139万
展开全部

1. 如果 TreeView 的 Items 绑定了一个源集合, 那麼对集合增减,  wpf 会自动处理, 更新显示(如果集合实现了INotifyCollectionChanged 介面的话).

例如 TreeView 的 Items 绑定了一个 ObservableCollection<string> 的集合, 则 对这个集合使用 Add/Remove 等方法时, wpf 会自动更新 TreeView 的显示.

2. 如果 TreeView 没有绑定集合, 则 它的 Items 可以添加任何元素. 所添加的元素自动以 TreeViewItem 作为容器来承载, 根据相应的 DataTemplate 或者默认的方式,显示到 TreeView 中.

eg. 下面是一个没有任何 Item 的 TreeView, 你可以在代码中动态增减:

<TreeView x:Name="myTV">

--------------

先增加一些节点:

myTV.Items.Add("I'm the rootNode"); // 可以是任何类型, 这里是 string

DockPanel dp= new DockPanel();

TextBlock tb = new TextBlock();

tb.Text = "I'm the child node";

tb.VerticalAlignment = VerticalAlignment.Center;

Image img = new Image();

img.Stretch= Stretch.None;

img.Source= new BitmapImage(new Uri(@"C:\wpf.bmp", UriKind.Absolute));

dp.Children.Add(img);

dp.Children.Add(tb);

(myTV.ItemContainerGenerator.ContainerFromIndex(0) as TreeViewItem).Items.Add(dp);

--------------------

然后修改这些节点:

TextBox t = new TextBox();

t.Text = myTV.Items[0] as string;

myTV.Items[0] = t;

((((myTV.ItemContainerGenerator.ContainerFromIndex(0) as TreeViewItem).Items[0]) as DockPanel).Children[1] as TextBlock).Text = "an image sits on my left side";

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式