用于控制WPF中可重用Listview的用户控件

时间:2011-06-09 08:53:36

标签: wpf listview observablecollection

我是winforms和asp.net的程序员。 WPF应用程序开发的新手。

我希望提前感谢为我的查询提供的任何帮助,

我正在申请银行业务。我的工作档案是为应用程序开发可重用的用户控件。

一个例子是创建一个具有最大和最小数字属性的简单数字输入框。因此,如果输入的数字不在范围内,则控件会弹出错误。 (当然还有更多的控制措施: - )

在类似的路线上。我必须开发一个具有两个属性的listview用户控件。

  

1)列标题的逗号分隔值
  2)要添加的数据的逗号分隔值

我的同事现在将此用户控件放在窗口上(如WPF中所知)。并将上述参数传递给listview控件。

我的编码可确保放置列并添加数据。在winforms中,这是一个简单的过程。在WPF中,我能够通过在observablecollection中预先定义或以其他方式使用

来实现已知列
SamplelistView.Items.Add(new { FirstName = "test1", LastName = "ABX", EmployeeNumber = "AAA111"});

但是在上面提到的命令中,Firstname,Lastname是以前已知的列。

是否有任何命令,如将数据添加为数组或直接将数据添加到列而不绑定到集合。 OR是否有一种方法可以在运行时向observablecollections添加列。

PLS。原谅我对术语和其他方面的有限接触。

1 个答案:

答案 0 :(得分:0)

我解决这个问题的方法是:

  1. 创建一个托管UserControl
  2. DataGrid
  3. ColumnNames添加UserControl依赖项属性。在PropertyChanged事件处理程序中,解析CSV并相应地更新DataGrid.Column
  4. Data添加UserControl依赖项属性 - 当此更改时,解析CSV并将数据添加到DataGrid
  5. 请参阅此问题以获取一些建议:

    programmatically add column & rows to WPF Datagrid

    顺便说一句,列名称的CSV是一个可怕的界面!为什么不公开List<string>,然后添加TypeConverter以便您可以在XAML中使用CSV字符串?