, поэтому я работаю над приложением, которое извлекает данные из базы данных, и я хочу отобразить его в DataGrid с настраиваемыми столбцами, которые я создал.Wpf DataGrid показывает только пустые строки
XAML:
<DataGrid x: Name = "dataGridAddedAgents" Grid.Column = "0" Grid.ColumnSpan = "7" ItemsSource = "{Binding}" HorizontalAlignment = "Stretch" Margin = "10,0" Grid.Row = "3" VerticalAlignment = "Top" AutoGenerateColumns = "False" IsReadOnly = "True" >
<DataGrid.Columns>
<DataGridTextColumn Binding = "{Binding Path=Id}" Width = "0.25*" Header = "Id" CanUserResize = "False" CanUserReorder = "False" Foreground = "{x:Null}" />
<DataGridTextColumn Binding = "{Binding Path=FirstName}" Width = "0.15*" Header = "First name" CanUserResize = "False" CanUserReorder = "False" Foreground = "{x:Null}" />
<DataGridTextColumn Binding = "{Binding Path=LastName}" Width = "0.15*" Header = "Last name" CanUserResize = "False" CanUserReorder = "False" Foreground = "{x:Null}" />
<DataGridTextColumn Binding = "{Binding Path=Email}" Width = "0.20*" Header = "Email" CanUserResize = "False" CanUserReorder = "False" Foreground = "{x:Null}" />
<DataGridTextColumn Binding = "{Binding Path=Username}" Width = "0.15*" Header = "Username" CanUserResize = "False" CanUserReorder = "False" Foreground = "{x:Null}" />
<DataGridTextColumn Width = "0.10*" ClipboardContentBinding = "{x:Null}" Header = "Remove" CanUserResize = "False" CanUserReorder = "False" Foreground = "{x:Null}" />
</DataGrid.Columns>
</DataGrid>
и здесь C# код, где я пытаюсь поместить данные в DataGrid
response = await client.GetAsync("api/user/agents");
listOfAgents = await response.Content.ReadAsAsync<ICollection<ApplicationUserModel>>();
dataGridAddedAgents.ItemsSource = listOfAgents;
Я имею проверку с отладчиком и я загрузить данные правильно в listOfAgents. Когда я запускаю программу, DataGrid показывает правильное количество строк, но все ячейки пустые.
редактировать:
public class ApplicationUserModel
{
public string Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string GuestIdentification { get; set; }
public string Email { get; set; }
public string Username { get; set; }
public string Password { get; set; }
}
Класс ApplicationUserModel выглядит следующим образом. Я использую его тоже, пишу в базу данных, и он работает Soulutin:
удаление Foreground = "{x: Null}" из столбцов в DataGrid исправлено. спасибо @ mm8 за помощь
Вы назначаете ItemsSource как в своем коде, так и через 'ItemsSource =" {Binding} "в вашем XAML. Вероятно, это является причиной проблемы. Удалите привязку и посмотрите, работает ли она. – ChrisF
Или просто установите корректное привязку ItemsSource в xaml – TheLethalCoder
@ TheLethalCoder. Я думал об этом, но тогда могут возникнуть другие проблемы, требующие сортировки. Удаление привязки (даже временно) покажет, было ли это источником проблемы или нет. Как только вы подтвердите, что вы можете разобраться в правильном исправлении. – ChrisF