Odświeżanie zawartości DataGrid

0

Cześć,

DataGrid jest zdefiniowany w ten sposób:

<DataGrid Grid.Row="2" Grid.Column="0" Margin="5" Grid.ColumnSpan="3" Name="dgrNumericalParameters" ItemsSource="{Binding}">
    <DataGrid.RowDetailsTemplate>
        <DataTemplate>
            <DataGrid AutoGenerateColumns="True" Name="innerGrid" ItemsSource="{Binding}" Loaded="innerGrid_Loaded"/>
        </DataTemplate>
    </DataGrid.RowDetailsTemplate>
</DataGrid>

zaś elementy wiążę ze sobą w ten sposób:

dgrNumericalParameters.DataContext = MainWindow.allEAsSettingsList.Find(item2 => item2.EAName == MainWindow.currentEAsSettingsName).EAParameters;

Problem się pojawia, gdy chcę dodać kolejny wiersz (edycja istniejących wartości w zewnętrznym i wewnętrznym DataGrid działa). Zaimplementowałem dodawanie kolejnego wiersza (i obiekt rzeczywiście zawiera nowy wiersz). Jednak wcale się on nie pojawia na DataGrid. (Również gdy kliknę inny istniejący wiersz w DataGrid dostaję wyjątek, że zawartość się zmieniła).

W związku z tym potrzebuję odświeżyć dgrNumericalParameters.DataContext.

Taki kod:

dgrNumericalParameters.DataContext.Refresh();

powoduje błąd:

Error 2 'object' does not contain a definition for 'Refresh' and no extension method 'Refresh' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?) H:\Projekty\temporary\MT4AnalyzeV2WPF\MT4AnalyzeV2WPF\TestScenario.xaml.cs 87 41 MT4Analyzer

Dodanie referencji do System.Data.Entity pozwala mi, co prawda, dostać się do System.Data.Objects, ale dalej taki kod nie działa z tego samego powodu, co powyżej:

dgrNumericalParameters.DataContext.Refresh(System.Data.Objects.RefreshMode.ClientWins, MainWindow.allEAsSettingsList.Find(item2 => item2.EAName == MainWindow.currentEAsSettingsName).EAParameters);

Znalazłem również informację, że upewnienie się, że lista w DataGrid jest typu ObservableCollection, może pomóc. Nie bardzo jednak wiem, czy to rzeczywiście w tym kierunku mam iść.

W jaki sposób mogę odświeżyć zawartość DataGrid.DataContext?

Pozdrawiam!

1

Sprawdź sobie ObservableCollection i z jakich interfejsów korzysta i wszystko się stanie jasne czemu jest zalecane. :)
http://msdn.microsoft.com/en-us/library/ms668604.aspx

1 użytkowników online, w tym zalogowanych: 0, gości: 1