В Silverlight 4 я связал сетку данных с источником данных ObservableCollection.
Вот код xaml для интерфейса:
<sdk:DataGrid AutoGenerateColumns="False" Height="179" HorizontalAlignment="Left" Margin="667,10,0,0" Name="dgASupprimer" VerticalAlignment="Top" Width="334" DataContext="{Binding BindsDirectlyToSource=True, ValidatesOnNotifyDataErrors=False, Mode=OneWay}" LoadingRow="dgASupprimer_LoadingRow" />
<Button Content="ASupprimer" Height="23" HorizontalAlignment="Left" Margin="905,205,0,0" Name="bASupprimer" VerticalAlignment="Top" Width="75" Click="bASupprimer_Click" />
И тот, который инициализирует источник данных:
public class fmLabClass
{
public string Nom { get; set; }
public int Age { get; set; }
public fmLabClass(string nom, int age) { Age = age; Nom = nom; }
}
System.Collections.ObjectModel.ObservableCollection<fmLabClass> fmLabObservableCollection = new System.Collections.ObjectModel.ObservableCollection<fmLabClass>() {
new fmLabClass("Person1",34),
new fmLabClass("Person2",36),
new fmLabClass("Person3",45)
};
Когда я нажимаю кнопку bASupprimer, я хочу изменить значение атрибута на объекте и получить взамен пересмотренную сетку данных.
private void bASupprimer_Click(object sender, RoutedEventArgs e)
{
dgASupprimer.SelectedIndex = 2;
((fmLabClass)(dgASupprimer.SelectedItem)).Age++;
}
Текущий результат заключается в том, что сетка данных не обновляется автоматически. Как я могу это сделать?
Thx