将项添加到List Of不会在datagrid中显示

时间:2014-03-06 14:33:13

标签: wpf vb.net list xaml datagrid

xaml代码中的我的DataGrid:

<DataGrid ItemsSource="{Binding Path=VoSamArtList}" Grid.Row="1" Margin="5,10,5,5" Grid.ColumnSpan="2"/>

我的按钮将项目添加到xaml中的列表:

<Button Grid.Row="2"  Click="Button_Click"/>

我在vb代码中的属性:

Private _oVoSamArtLijst As New List(Of Product)
Public Property VoSamArtLijst As List(Of Product)
    Get
        Return _oVoSamArtLijst
    End Get
    Set(ByVal value As List(Of Product))
        _oVoSamArtLijst = value
        RaisePropertyChanged()
    End Set
End Property

我的按钮点击vb代码:

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    VoSamArtList.Add(New Product("Id", "Length", "Width", "Height", "Code", "Quality", "Description", "Price"))
End Sub

我的项目中还有其他几个Properties更新,就像他们必须从BindingTextBoxes进行Labels测试一样。但将此List绑定到DataGrid似乎很困难。如果我运行该程序,则生成列并使用Artikel Class中的正确名称。

我可能忘记了必须使用Binding List Of进行的操作。

1 个答案:

答案 0 :(得分:4)

需要使用ObservableCollection

ObservableCollection

ObservableCollection会通知何时添加或删除项目。

这可能不完美,因为我使用C#

Private _oVoSamArtLijst As New ObservableCollection(Of Product)
Public Property VoSamArtLijst As ObservableCollection(Of Product)
    Get
        Return _oVoSamArtLijst
    End Get
    Set(ByVal value As ObservableCollection(Of Product))
        _oVoSamArtLijst = value
        RaisePropertyChanged()
    End Set
End Property