您的位置:首页 > 其它

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

2017-02-17 20:59 148 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐