首页 > 学院 > 开发设计 > 正文

下一步就是实现点击tree条目显示数据了。

2019-11-08 03:06:11
字体:
来源:转载
供稿:网友

1,rss实现接口:INotifyPRopertyChanged(using System.ComponentModel;) 2,输入固定代码 public event PropertyChangedEventHandler PropertyChanged; void OnPropertyChanged(string propName) { if (PropertyChanged!=null) { PropertyChanged(this, new PropertyChangedEventArgs(propName)); } }

3,修改set和增加IsSelected(因为这个属性要和treeview的IsSelected对应) public string Text { get { return text; } set { text = value; OnPropertyChanged(“Text”); } }

string xmlUrl; public string XmlUrl { //createChilren的时候new 把XmlUrl 读取并赋值 get { return xmlUrl; } set { xmlUrl = value; OnPropertyChanged("XmlUrl"); } }

public bool IsSelected { get { return isSelected; } set { isSelected = value; OnPropertyChanged(“IsSelected”); }

}

4,界面的话增加

<TreeView x:Name="tr_1" TreeViewItem.Selected="TreeView_Selected"> <TreeView.ItemContainerStyle> <Style TargetType="{x:Type TreeViewItem}"> <!-- <Setter Property="IsExpanded" Value="{Binding IsExpanded}"/> 预留--> <!-- <Setter Property="Background" Value="Red"/>/> 预留--> <Setter Property="IsSelected" Value="{Binding IsSelected}"/> </Style> </TreeView.ItemContainerStyle>

6,绑定好后就是处理TreeView_Selected函数了

private void TreeView_Selected(object sender, RoutedEventArgs e) { TreeViewItem tviSelected = e.OriginalSource as TreeViewItem; Student std = (Student)tviSelected.Header; MessageBox.Show(std.Name); }

//

上面测试了选择的的确是student数据对象 这里写图片描述

下面是循环读取条目的代码,treeview就到这里了,以后都是跟读取xml有关的东西了

private void TreeView_Selected(object sender, RoutedEventArgs e) { // TreeViewItem tviSelected = e.OriginalSource as TreeViewItem; var tviSelected = e.OriginalSource as TreeViewItem; // Rss std = (Rss)tviSelected.Header; var std = (Rss)tviSelected.Header; if (std.ParentId == -1) { for (int i = 0; i < rsslist.Count; i++) { if (rsslist[i].Id == std.Id) { tx_1.Text = ""; for (int j = 0; j < rsslist[i].Children.Count; j++) { tx_1.Text += Environment.NewLine+rsslist[i].Children[j].XmlUrl + Environment.NewLine; } } } } else { //试着加载一下xml /*// XmlTextReader Reader = new XmlTextReader("http://hzw.gov.cn/wzpzcs/xqywRSSdy/index.shtml"); // XmlTextReader Reader = new XmlTextReader("http://cn.engadget.com/rss.xml"); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(Reader);*/ tx_1.Text= wangshangFD(std.XmlUrl); //加载的函数预留着 }//else }//TreeView_Selected
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表