c# wpf中如何向expander中动态添加xml中的内容

如题。我现在有一个xml文件记录了一些数据,希望在expander中分层次的显示出来。怎么做呢?... 如题。我现在有一个xml文件记录了一些数据,希望在expander中分层次的显示出来。怎么做呢? 展开
 我来答
Mickal小米
2013-07-12 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1772万
展开全部
提供下思路。
例如有一个xml,层次是
<classes>
<Students Name ="class1">
< Student>
<UserName>01</UserName>
<Sex>1</Sex>
<Age>22</Age>
</Student>...
就是年级有几个班,每个班有几个学生这样子。
expander的header展示班级名称,content展示每个班的学生列表。
建议用后台代码去动态创建expander和listbox。listbox的itemtemplate可以在前台写,后台引用。
后台遍历XML数据源的时候看第一层有几个数据(demol里的Students)创建expander并对其header赋值。然后创建expander.content中的listbox并赋值其Itemsource。

也可以刚开始只创建expander。在expanderItem展开的时候再去动态对其content创建listobx并赋值。
追问
能有具体的代码给看一下吗?
追答
灬觺觺diane
2013-07-12 · 超过31用户采纳过TA的回答
知道答主
回答量:145
采纳率:0%
帮助的人:90.4万
展开全部
例子
先看一下
private XmlDataDocument xmlDoc;
private void button1_Click(object sender, EventArgs e)
{
comboBox1.Items.Add("1");
comboBox1.Items.Add("1");
XmlDocument xml = new XmlDocument();
xml.Load(System.IO.Path.GetFileName(@"bf.xml"));
XmlNode nose = xml.SelectSingleNode("request");
nose.RemoveAll();
xml.Save(System.IO.Path.GetFileName("bf.xml"));
string functionIDs = "updateMultiItemsStock";
string dateTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
xmlLoad();

XmlNode xmldocSelect = xmlDoc.SelectSingleNode("request");
XmlElement functionID = xmlDoc.CreateElement("functionID");
functionID.InnerText = functionIDs;
XmlElement time = xmlDoc.CreateElement("time");
time.InnerText = dateTime;
xmldocSelect.AppendChild(functionID);
xmldocSelect.AppendChild(time);
XmlElement ItemsList = xmlDoc.CreateElement("ItemsList");
xmldocSelect.AppendChild(ItemsList);
XmlElement ItemUpadteInfo = null;
XmlElement outerItemID = null;
XmlElement stockCount = null;
for (int i = 0; i < 5; i++)
{
ItemUpadteInfo = xmlDoc.CreateElement("ItemUpadteInfo");
ItemsList.AppendChild(ItemUpadteInfo);
outerItemID = xmlDoc.CreateElement("outerItemID");
ItemUpadteInfo.AppendChild(outerItemID);
stockCount = xmlDoc.CreateElement("stockCount");
ItemUpadteInfo.AppendChild(stockCount);
outerItemID.InnerText = "20100210";
stockCount.InnerText = "20";
ItemUpadteInfo.AppendChild(stockCount);
ItemUpadteInfo.AppendChild(outerItemID);
}
xmlDoc.Save(System.IO.Path.GetFileName("bf.xml"));
}
把ItemsList换成expander; 下面要添加什么改一下就行了for里面的东西就行了 正式的应该是在foreach循环里面添加数据
追问
额。这个expander是wpf里的expander阿。你是不是搞错了什么。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式