【问题标题】:Add new properties dynamically to a class which belongs to a list of class shown in WPF Datagrid将新属性动态添加到属于 WPF Datagrid 中显示的类列表的类
【发布时间】:2015-10-23 22:17:28
【问题描述】:

我知道有一些问题接近这个问题,但他们最终没有为 vb.net 及其在 WPF Datagrids 中的应用找到解决方案。

我正在将一个 winform 应用程序移至 WPF。我的应用主要是基于datagrids的,问题就来了,因为wpf中的datagrids是从不同的角度使用的。

在我的旧应用程序中,我有显示在数据网格中的数组。当我搬到 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

【问题讨论】:

    标签: wpf vb.net class properties datagrid


    【解决方案1】:

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

    所以我没有将旧的 DataGridViews 传递给 WPF Datagrids,而是将它们传递给了我仍在配置的 WindowsFormsHost。这使我可以重复使用原始应用程序中的代码。

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

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      相关资源
      最近更新 更多