在observablecollection上使用数据绑定时,wpf vb.net中的数据网格值未更新



我在数据网格中使用数据绑定,我可以将值获取到网格中,但当我编辑它们时,它不会触发该值的属性中值的更新。当我改变了价值时,我希望能够用它做点什么。

在我的PLPage.xaml.vb中,我有:

Class PLPage
Implements INotifyPropertyChanged
Public MyCollection As New ObservableCollection(Of Pl)
Dim reg As List(Of String) = New List(Of String)()
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub New()
InitializeComponent()
Me.DataContext = MyCollection
End Sub
Private Sub FillData()
Dim pla As Pl = New Pl()
pla.Reg = reg(count)
MyCollection.Add(pla)

PGTable.ItemsSource = MyCollection
End Sub
Public Class Pl
Implements INotifyPropertyChanged
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Property _r As String
Public Property Reg As String
Get
Return _r
End Get
Set(value As String)
If _r <> value Then
_r = value
'RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("Reg"))
NotifyPropertyChanged("Reg")
End If
End Set
End Property
Private Sub NotifyPropertyChanged(propertyName As String)
Me.OnPropertyChanged(New PropertyChangedEventArgs(propertyName))
End Sub
Protected Overridable Sub OnPropertyChanged(e As PropertyChangedEventArgs)
RaiseEvent PropertyChanged(Me, e)
End Sub
End Class

然后在我的xaml中我有:

<DataGrid ItemsSource="{Binding Pl}" x:Name="PlGridTable" AutoGenerateColumns="False">
<DataGrid.Columns>
<materialDesign:MaterialDataGridTextColumn Header="Desig" Width="Auto" Binding="{Binding _reg, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}"/>
</DataGrid.Columns>
</DataGrid>

当我第一次加载它时,它会触及reg属性,并正确地分配值,但当我使用材质设计包中内置的编辑元素更新值时,它不会在任何地方触发。如有任何关于原因的帮助,我们将不胜感激。

{Binding _reg}应该是{Binding Reg},因为属性名为Reg:

<materialDesign:MaterialDataGridTextColumn Header="Desig" Width="Auto" Binding="{Binding Reg, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}"/>

最新更新