我是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。原谅我对术语和其他方面的有限接触。
答案 0 :(得分:0)
我解决这个问题的方法是:
UserControl
DataGrid
ColumnNames
添加UserControl
依赖项属性。在PropertyChanged
事件处理程序中,解析CSV并相应地更新DataGrid.Column
。Data
添加UserControl
依赖项属性 - 当此更改时,解析CSV并将数据添加到DataGrid
。请参阅此问题以获取一些建议:
programmatically add column & rows to WPF Datagrid
顺便说一句,列名称的CSV是一个可怕的界面!为什么不公开List<string>
,然后添加TypeConverter
以便您可以在XAML中使用CSV字符串?