Understanding ItemsSource and DataContext in a DataGrid

UPDATE: see the bottom of this question, what I did to solve the problem.

I'm trying to understand how the properties ItemsSourceand DataContextwork in the Toolkit the Silverlight DataGrid. I am currently working with dummy data and am trying to update the data in DataGridwhen the value of the combo box changes.

The My MainPage.xaml.vb file currently looks like this:

Partial Public Class MainPage
    Inherits UserControl

Private IssueSummaryList As List(Of IssueSummary)    

Public Sub New()
    GetDummyIssueSummary("Day")
    InitializeComponent()
    dgIssueSummary.ItemsSource = IssueSummaryList
    'dgIssueSummary.DataContext = IssueSummaryList        '
End Sub

Private Sub GetDummyIssueSummary(ByVal timeInterval As String)
    Dim lst As New List(Of IssueSummary)()
    'Generate dummy data for lst '
    IssueSummaryList = lst
End Sub

Private Sub ComboBox_SelectionChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.SelectionChangedEventArgs)
    Dim cboBox As ComboBox = CType(sender, ComboBox)
    Dim cboBoxItem As ComboBoxItem = CType(cboBox.SelectedValue, ComboBoxItem)
    GetDummyIssueSummary(cboBoxItem.Content.ToString())
End Sub

End Class

My XAML currently looks like this DataGrid::

<sdk:DataGrid x:Name="dgIssueSummary" AutoGenerateColumns="False" >
    <sdk:DataGrid.Columns>
        <sdk:DataGridTextColumn Binding="{Binding ProblemType}" Header="Problem Type"/>
        <sdk:DataGridTextColumn Binding="{Binding Count}" Header="Count"/>
    </sdk:DataGrid.Columns>
</sdk:DataGrid>

, ItemsSource IssueSummaryList, , , IssueSummaryList . DataContext IssueSummaryList, .

, ItemsSource DataContext, , " ", List. , List ?


:

  • IssueSummaryList System.Collections.ObjectModel.ObservableCollection. ObservableCollection , , datagrid, .
  • GetDummyIssueSummary(), IssueSummaryList , , List ObservableCollection.

.

+3
2

DataContext . ItemsSource ItemsControl, .

, , - , XAML , DataContext ( , ). , , , , . , DataContext null, , .., ( ).

, , , ? , ? , INotifyCollectionChanged IBindingList. ObservableCollection<T> INotifyCollectionChanged, .

, ( , , ) , , INotifyPropertyChanged.

+3

ItemsSource - , , DataContext - .

.

ItemsSource , DataContext ItemsSource.

ItemsSource="{Binding MyList}", ItemsSource , - + .MyList.

ItemsSource="{Binding}", ItemsSource , - .

+2

Source: https://habr.com/ru/post/1749977/


All Articles