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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值