将新属性动态添加到属于 WPF Datagrid 中显示的 class 列表的 class
Add new properties dynamically to a class which belongs to a list of class shown in WPF Datagrid
我知道有一些问题正在解决这个问题,但他们最终没有找到 vb.net 及其在 WPF 数据网格中的应用的解决方案。
我正在将 winform 应用程序移动到 WPF。我的应用主要是基于datagrids,问题就来了,因为wpf中的datagrids使用的角度不一样
在我的旧应用程序中,我有显示在数据网格中的数组。当我转移到 WPF 时,我试图将它们移动到 classes 列表中,以便在数据网格中显示它们。
我需要用户能够更改属性的数量(周期数)。
我怎样才能做到这一点?我读过,也许解决方案是在 class 中添加字典,但我不知道如何应用它来创建新属性。
这是我的代码:
Public Class Cashflow
Property Period1 As String
Property Period2 As String
Sub New(Period1 As String, Period2 As String)
Me.Period1 = Period1
Me.Period2 = Period2
End Sub
End Class
Public Function GenerateList()
Dim Cashflows As New List(Of Cashflow)
Cashflows.Add(New Cashflow("500", "600"))
Return Cashflows
End Function
Private Sub GenerateListBt_Click(sender As Object, e As RoutedEventArgs) Handles GenerateListBt.Click
'GenerateList()
Datagrid.ItemsSource = GenerateList()
End Sub
最后,我发现我们仍然可以通过使用 od WindowsFormsHost 使用 "old" DataGridView。它是一个 WPF 控件,可以是任何你想要的控件,但需要使用 XAML 代码进行配置。
所以我没有将旧的 DataGridViews 传递给 WPF Datagrids,而是将它们传递给了我仍在配置的 WindowsFormsHost。这允许我重新使用原始应用程序中的代码。
虽然我找到了这个解决方案,但我仍然对使用 WPF Datagridviews 解决这个问题感兴趣,因为也许我会在未来转向这种方法。
我知道有一些问题正在解决这个问题,但他们最终没有找到 vb.net 及其在 WPF 数据网格中的应用的解决方案。
我正在将 winform 应用程序移动到 WPF。我的应用主要是基于datagrids,问题就来了,因为wpf中的datagrids使用的角度不一样
在我的旧应用程序中,我有显示在数据网格中的数组。当我转移到 WPF 时,我试图将它们移动到 classes 列表中,以便在数据网格中显示它们。
我需要用户能够更改属性的数量(周期数)。
我怎样才能做到这一点?我读过,也许解决方案是在 class 中添加字典,但我不知道如何应用它来创建新属性。
这是我的代码:
Public Class Cashflow
Property Period1 As String
Property Period2 As String
Sub New(Period1 As String, Period2 As String)
Me.Period1 = Period1
Me.Period2 = Period2
End Sub
End Class
Public Function GenerateList()
Dim Cashflows As New List(Of Cashflow)
Cashflows.Add(New Cashflow("500", "600"))
Return Cashflows
End Function
Private Sub GenerateListBt_Click(sender As Object, e As RoutedEventArgs) Handles GenerateListBt.Click
'GenerateList()
Datagrid.ItemsSource = GenerateList()
End Sub
最后,我发现我们仍然可以通过使用 od WindowsFormsHost 使用 "old" DataGridView。它是一个 WPF 控件,可以是任何你想要的控件,但需要使用 XAML 代码进行配置。
所以我没有将旧的 DataGridViews 传递给 WPF Datagrids,而是将它们传递给了我仍在配置的 WindowsFormsHost。这允许我重新使用原始应用程序中的代码。
虽然我找到了这个解决方案,但我仍然对使用 WPF Datagridviews 解决这个问题感兴趣,因为也许我会在未来转向这种方法。