【问题标题】:Bind ListView with XML (WPF) Page将 ListView 与 XML (WPF) 页面绑定
【发布时间】:2018-11-10 23:35:17
【问题描述】:

我在中心有一个带有 Frame 元素的窗口。有一个包含所有 XML 元素的页面,但我无法在 ListBox 中实现它。我附上了使用它的外观的示例。我在这里找到了许多源代码,但它们看起来都是简单与否 XML 绑定。Screenshot with description

如果可以动态添加元素,我可以将网格代码放在这里。 对不起我的英语不好。 XML

<?xml version="1.0" encoding="utf-8"?>
<Cars>
  <Car>
    <Firm>Toyota</Firm>
    <Image>cruzer.jpg</Image>
    <Model>Land Cruiser</Model>
    <Year>2017</Year>
  </Car>
  <Car>
    <Firm>Toyota</Firm>
    <Image>cruzer.jpg</Image>
    <Model>Land Cruiser</Model>
    <Year>2017</Year>
  </Car>
</Cars>

【问题讨论】:

  • 查看ObservableCollections。从你的 xml 中填充 OC,然后将 OC 绑定到你的 ListBox,当 OC 中的事情发生变化时,根据 OC 的事件修改你的 xml。

标签: c# xml wpf listview binding


【解决方案1】:

您需要读入 XML 并将其转换为可供 ObservableCollection 使用的内部模型。例如,将 Xml 读入 C# 对象模型如下:

https://www.codeproject.com/Articles/1222133/Reading-and-Writing-XML-in-Csharp-VB-Net

您的情况可能是您希望使用列表结构而不是链接文章中解释的树结构。但是将 XML 读入一个内部列表结构,例如:

ObservableCollection<Car> ListCars { get; }

其中 Car 是一个简单的对象结构,例如:

public class Car
{
  public string Firm  { get; set; }
  public string  Pic  { get; set; }
  public string Model { get; set; }
  public string Year  { get; set; }
}

您可以从这篇文章或其他有关阅读 XML 的文章中学到什么。当您拥有列表时,您可以将其绑定到列表框。

如果这没有帮助,请更具体地说明您的问题。显示您目前尝试的一些代码,并解释为什么您无法在 Listbox 中显示?

【讨论】:

    猜你喜欢
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    相关资源
    最近更新 更多