向属于WPF Datagrid中显示的类列表的类动态添加新属性



我知道有一些问题,但他们并没有最终得到vb.net及其在WPF datagrid中的应用的解决方案。

我正在移动一个winform应用程序到WPF。我的应用程序主要基于数据网格,问题来了,因为wpf中的数据网格是从不同的角度使用的。

在我的旧应用程序中,我有显示在数据网格中的数组。当我搬到WPF时,我正试图将它们移动到类列表中,以便在数据网格中显示它们。

我需要用户能够改变属性的数量(周期的数量)。

我怎样才能做到这一点?我读到,也许一个解决方案可能是在类中添加一个字典,但我不知道如何应用它来创建新的属性。

下面是我的代码:
 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

最后,我发现我们仍然可以通过使用WindowsFormsHost来使用"旧"DataGridView。它是一个WPF控件,可以是您想要的任何控件,但需要使用XAML代码进行配置。

所以我没有把我的旧DataGridViews传递给WPF datagridds,我把它们传递给WindowsFormsHost,我还在配置。这允许我重用原始应用程序中的代码。

虽然我找到了这个解决方案,但我仍然对使用WPF Datagridviews解决这个问题感兴趣,因为也许我将在未来转向这种方法。

最新更新