Wpf绑定到具有未知属性的类计数

时间:2009-10-05 09:44:16

标签: wpf binding

我的类产品具有未知数量的属性,例如“名称”,“价格”等。我只在解析一些txt文件时才检索它们。

我该怎么做:

  1. 编写一个Product类来实现dynimicly添加Properies
  2. 将这些具有未知数量的属性的产品集合绑定到XAML中的ListView(或者我应该在解析txt文件后构建代码?)

2 个答案:

答案 0 :(得分:1)

  1. 您可以使用Dictionary<string, object>存储属性名称和相关值。

  2. 您需要根据字典中的键在代码隐藏中动态生成列。您可以使用类似"Properties[SomeKey]"的绑定路径绑定到字典的特定项目(假设您的字典名为Properties)。

答案 1 :(得分:0)

谢谢Thomas的快速回答。   - 我在对象为List<string>的地方创建字典   - 我试图绑定到GridView但没有结果 只是这个测试emlementation工作,但当然这不是我想要的 我应该写些什么:

  • Grid1.DataContext
  • listView1.ItemsSource
  • gvc.DisplayMemberBinding

_

enter code here

_importView = new Views.ImportBomView();
        _importView.Grid1.DataContext = _dynimicList;
        _importView.listView1.ItemsSource = (IEnumerable)_dynimicList.PropsDict["Value"];
        foreach (var item in _dynimicList.PropsDict.Keys)
        {
            GridViewColumn gvc = new GridViewColumn();
            gvc.DisplayMemberBinding = new Binding();
            gvc.Header = item;
            gvc.Width = 100;

            _importView.gridView1.Columns.Add(gvc);
        }

        _importView.Show();