我知道有一些问题,但他们并没有最终得到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解决这个问题感兴趣,因为也许我将在未来转向这种方法。