Возможно, уже поздно, и я слишком долго смотрел на свой экран, но это действительно меня озадачило. У меня был datagrid, отображающий данные, но после того, как я присоединился к двум таблицам и попытался отобразить данные. Данные есть, потому что я могу по-прежнему получать событие двойного щелчка мыши для работы, но ни один текст не отображается ни в одном из столбцов или строк.WPF Datagrid имеет данные в строках, но не отображает текст
Это XAML.
<DataGrid Grid.Column="1" Grid.Row="1" Name="ProjectsSubGrid" ItemsSource="{Binding}"
AutoGenerateColumns="False" IsReadOnly="True"
MouseDoubleClick="ProjectsSubGrid_MouseDoubleClick"
Initialized="ProjectsSubGrid_Initialized">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=ProjectName}" Header="Project Name"/>
<DataGridTextColumn Binding="{Binding Path=AllottedHours}" Header="Allotted Hours"/>
<DataGridTextColumn Binding="{Binding Path=InvoicedHours}" Header="Invoiced Hours"/>
<DataGridTextColumn Binding="{Binding Path=UninvoicedHours}" Header="Uninvoiced Hours"/>
<DataGridTextColumn Binding="{Binding Path=RemainingHours}" Header="Remaining Hours"/>
</DataGrid.Columns>
</DataGrid>
и это мой код на C#, который устанавливает DataContext.
private void ProjectsSubGrid_Initialized(object sender, EventArgs e)
{
var list = from p in ProjectManagement.Context.Project
join a in ProjectManagement.Context.Account
on p.AccountId equals a.AccountId
select new ProjectView(){
AccountId = a.AccountId,
ProjectId = p.ProjectId,
ProjectName = p.ProjectName,
InvoicedHours = p.InvoicedHours,
AccountName = a.CompanyName,
AllottedHours = p.AllottedHours,
RemainingHours = p.RemainingHours,
UninvoicedHours = p.UninvoicedHours
};
ProjectsSubGrid.DataContext = list;
}
Это работает, когда я использую код ниже, но как только я переключаюсь на объединенные таблицы, он ломается.
ProjectsSubGrid.DataContext = ProjectManagement.Context.Project.Where(p=>true);
Любая помощь была бы принята с благодарностью.
Не используйте Initilized событие, лучше сделать это в конструкторе Window, а затем проверить. – AnjumSKhan