2011-06-09 60 views
0

我是winforms和asp.net的程序员。 WPF应用程序开发的新来者。用户控件在WPF中可重用Listview

我想提前感谢渲染到我的查询任何帮助,

我工作的银行业一个应用程序。我的工作简介是为应用程序开发可重用的用户控件。

一个例子是制作一个简单的数字输入框,它具有最大和最小数字属性。所以如果输入的数字不在一个范围内,控件会弹出一个错误。 (当然还有更多这种控制:-)

在相似的线条上。我必须用两个属性开发一个listview用户控件。列标题
2)的

1)一种逗号分隔值的数据的逗号分隔值以添加

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

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

SamplelistView.Items.Add(new { FirstName = "test1", LastName = "ABX", EmployeeNumber = "AAA111"}); 

然而,在上面提到的命令,名字,姓氏是先前已知的列,以实现它为已知的列。

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

请注意。请原谅我在有关命名和其他方面的有限曝光。

回答

0

我对这个问题的办法是:

  1. 创建UserControl承载一个DataGrid
  2. 一个ColumnNames依赖属性添加到UserControl。在PropertyChanged事件处理程序中,解析CSV并相应地更新DataGrid.Column
  3. UserControl添加Data依赖项属性 - 当此更改时,解析CSV并将数据添加到DataGrid

几个指针看到这个问题:

programmatically add column & rows to WPF Datagrid

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

+0

谢谢,我会传达你的建议。我已经看过上面提到的链接。现在解决了关于如何在运行时为放置的网格添加列的主题。但是,我仍然在搜索如何将相应的数据添加到网格中。 – arvind 2011-06-09 09:12:27