Я использую привязку данных в сетке данных, и я могу получить значения в сетке, но когда я редактирую их, это не запускает обновление значений в свойстве для значения. Я хочу иметь возможность что-то делать со значением, когда я его изменил.
В моем 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 и правильно присваивает значение, но когда я обновляю значение, используя элемент редактирования, встроенный в пакет дизайна материала, он нигде не срабатывает. Любая помощь в отношении того, почему будет оценено.