绑定到网格

本文关键字:网格 绑定 | 更新日期: 2023-09-27 18:13:49

我有下面的类,我想绑定到一个网格,但它不工作-感谢任何指导

第一类:

public class Assessments
{
public AssessmentHeader AssessmentHeader { get; set; }
public ObservableCollection<AssessmentSurveyHeaders> AssessmentSurveys { get; set; }
}
Class 2:
public class AssessmentSurveyHeaders
{
public AssessmentSurvey AssessmentSurvey { get; set; }
public ObservableCollection<SurveyLines> AssessmentSurveyLines { get; set; }
 }
Class 3:
public class AssessmentSurvey 
{
public Guid SurveyId{ get; set; }
 public string Description{ get; set; }
}
网格绑定:

                <data:DataGrid x:Name="QuestionGrid" ColumnHeaderStyle="{StaticResource DataGridHeaderGlassEffect}" AutoGenerateColumns="False" ItemsSource="{Binding _Assessments, Mode=TwoWay}" HorizontalAlignment="Stretch" >
            <data:DataGrid.Columns>
                    <data:DataGridTemplateColumn Header="Assessment">
                        <data:DataGridTemplateColumn.CellTemplate >
                            <DataTemplate>
                                    <HyperlinkButton x:Name="AssessmentLink" Tag="{Binding AssessmentHeader.AssessmentGuid}" Content="{Binding AssessmentHeader.AssessmentGuid}" Click="AssessmentLink_Click"/>
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                    </data:DataGridTemplateColumn>
                        <data:DataGridTemplateColumn Header="SurveyId">
                            <data:DataGridTemplateColumn.CellTemplate >
                                <DataTemplate>
                                    <data:DataGrid x:Name="SurveysGrid" AutoGenerateColumns="False" ItemsSource="{Binding AssessmentSurveys, Mode=TwoWay}" HorizontalAlignment="Stretch" >
                                        <data:DataGrid.Columns>
                                            <data:DataGridTextColumn Header="Id"  Binding="{Binding AssessmentSurveys.AssessmentSurvey.SurveyGuid, Mode=TwoWay}"  IsReadOnly="True"/>
                                            <data:DataGridTextColumn Header="Description"  Binding="{Binding AssessmentSurveys.AssessmentSurvey.Description, Mode=TwoWay}"  IsReadOnly="True"/>
                                        </data:DataGrid.Columns>
                                    </data:DataGrid>               
                                </DataTemplate>
                            </data:DataGridTemplateColumn.CellTemplate>
                        </data:DataGridTemplateColumn>
                    </data:DataGrid.Columns>
                </data:DataGrid>

绑定到网格

ID和Description已经与ItemsSource的AssessmentSurveys绑定。

换句话说,您不需要为每个子项目编写AssessmentSurveys

请在下面尝试。

                         <data:DataGrid.Columns> 
                                        <data:DataGridTextColumn Header="Id"  Binding="{Binding AssessmentSurvey.SurveyGuid, Mode=TwoWay}"  IsReadOnly="True"/> 
                                        <data:DataGridTextColumn Header="Description"  Binding="{Binding AssessmentSurvey.Description, Mode=TwoWay}"  IsReadOnly="True"/> 
                                    </data:DataGrid.Columns>