У меня есть главное окно с сеткой данных в верхней половине и tabcontrol в нижней половине.Сетка данных содержит список компаний.Одна из вкладок нижней вкладки управления содержит информацию о контактных лицах, соответствующих компании, выбранной в верхней таблице данных.
На вкладке я размещаю пользовательский контроль.
<TabItem Name="pgContactsXCompany">
<local:ContactsXCompany x:Name="contactsXCompany"/>
</TabItem>
Пользовательский контроль "ContactsXCompany "имеет сетку данных со списком контактных лиц, соответствующих выбранной компании.
<dg:DataGrid Name="dgContactsXCompanyList"
ItemsSource = "{Binding}"
AutoGenerateColumns="False"
IsReadOnly="True">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header="Id" Width="Auto" Binding="{Binding Path=intIDContact}" Visibility="Hidden" />
<dg:DataGridTextColumn Header="Jméno" Width="Auto" Binding="{Binding Path=txtName}" />
<dg:DataGridTextColumn Header="Příjmení" Width="Auto" Binding="{Binding Path=txtSurname}" />
<dg:DataGridTextColumn Header="Pobočka" Width="Auto" Binding="{Binding Path=txtBranchOffice}" />
<dg:DataGridTextColumn Header="Město" Width="Auto" Binding="{Binding Path=txtTown}" />
</dg:DataGrid.Columns>
</dg:DataGrid>
Контакты загружаются функцией, которая принимает в качестве параметра идентификатор выбранной компании (номер компании SAP).
Проблема заключалась в том, как передать номер SAPкомпании, выбранной в верхней сетке данных для контроля пользователя.Я создал делегата:
Public Delegate Sub CompanyContactsUpdate(ByVal sap As String)
, затем в главном окне, в SubChanged Sub Selection of данных компании я разместил следующий код:
Dim doUpdate As CompanyContactsUpdate
Dim obj As New ContactsXCompany
doUpdate = New CompanyContactsUpdate(AddressOf obj.UpdateContactsXCompanyDatagrid)
doUpdate.Invoke(grid.SelectedItem.txtSap)
Функция UpdateContactsXCompanyDatagrid определенаusercontrol:
Public Class ContactsXCompany
Public Sub UpdateContactsXCompanyDatagrid(ByVal Sap As String)
Dim d As New ContactPersonViewModel
Me.dgContactsXCompanyList.DataContext = d.GetContacts(Sap)
End Sub
End Class
При запуске приложения все работает без ошибок.Номер Sap выбранной компании передается в функцию UpdateContactsXCompanyDatagrid правильно.Me.dgContactsXCompanyList.DataContext, кажется, назначен, но сетка данных контактных лиц пуста.Строка не отображается.
Где искать проблему?Большое спасибо за вашу помощь!