绑定到网格
本文关键字:网格 绑定 | 更新日期: 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>