在WPF文本块/框中显示XML文件的内容,无标签
问题描述:
我有一个XML文件从一个RSS提要取得,保存在本地,我只是想显示这个XML文件的内容(没有标签)在一个文本框或一个文本块内 - 只是将其显示给用户。在WPF文本块/框中显示XML文件的内容,无标签
我已经编写了一个方法,它循环遍历整个XML文件,从相关标记中获取信息的每个部分并将其全部存储到列表中。有没有简单的方法让我只是在文本框中显示我新生成的列表的内容?或者甚至只是一个显示完整的XML文件本身而没有标签的方法将非常感谢。
非常感谢!
答
您可以使用以下代码将列表中的每个项目添加到TextBlock中。 (你说你已经移除此列表的标签,是否正确?)
XAML:
<TextBlock x:Name="rssDisplayer" />
C#:
private void displayListInTextBlock(List<Item> items)
{
foreach (Item item in items)
{
rssDisplayer.Text += item.ToString() + Environment.NewLine;
}
}
在Item.cs
,你需要重写ToString()
。因为你还没有告诉我们您Item
类,我将做一个粗略的猜测在这里:
public class Item
{
private string content; //just an example
public override String ToString()
{
return content;
}
}
但是,如果你需要删除XML标记帮助,看看this StackOverflow answer。
答
如果您在List字符串中有相关信息,那么您可以将它绑定到ListBox,并且可以将ListBox格式化为看起来像文本框。对于我显示的一些大型文本文件,我将它们通过EOL分解为List字符串以显示在ListBox中进行虚拟化。
TextBox,TextBlock或ListBox相同的答案 - 它们只显示字符串。创建一个公共属性,该属性是对象的字符串表示形式,并使用我推荐的ListBox方法绑定到属性,或者使用来自codesparke的循环来调用该属性。如果你使用循环,你可以调用一个方法,但是绑定ListBox必须是一个公共属性。 – Paparazzi