Опитвам се да направя това като MVVM, доколкото е възможно:
Моят модел (InterestTypeEntity) внедрява INotifyPropertyChanged.
Моят ViewModel (InterestTypeAllViewModel) има ObservableCollection който се свързва с DataGrid. Когато се направят промени в него, той изпраща тези промени (добавяне/премахване) в базата данни.
проблемът е, че искам също да мога да актуализирам базата данни, когато свойствата на обектите в колекцията се променят. Не съм сигурен как да направя това? Ето кода ми досега...
XAML:
<DataGrid Name="TestGrid" Grid.Row="3" Grid.ColumnSpan="2" AutoGenerateColumns="False"
ItemsSource="{Binding IntTypes}" SelectedItem="{Binding CurrentIntType}">
<DataGrid.Columns>
<DataGridTextColumn Header="Interest ID" Binding="{Binding IntType}" />
<DataGridTextColumn Header="Interested Parties Description" Binding="{Binding Description}" MaxWidth="500" />
</DataGrid.Columns>
</DataGrid>
Код на ViewModel:
public ObservableCollection<InterestTypeEntity> IntTypes
{
get { return DataRepository.InterestTypeEntities; }
}
public InterestTypeEntity CurrentIntType { get; set; }
public Int16 IntType
{
get { return CurrentIntType.IntType; }
set
{
if (value != CurrentIntType.IntType)
{
CurrentIntType.IntType = value;
OnPropertyChanged("IntType");
}
}
}
public String Description
{
get { return CurrentIntType.Description; }
set
{
if (value != CurrentIntType.Description)
{
CurrentIntType.Description = value;
OnPropertyChanged("Description");
}
}
}