0

我有简单的带绑定的 Datagrid,这个可以正常工作,并且在 RowDetailsRemplate 另一个 Datagrid 中,但在这种情况下绑定不起作用。你能帮我解决这个问题吗?

XAML:

 <DataGrid  Name="datagrid"  Margin="5,0,5,0" GridLinesVisibility="None" CanUserAddRows="False" ItemsSource="{Binding nowy}" >
            <DataGrid.Columns>
                <DataGridTemplateColumn>
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Expander Name="expander" IsExpanded="False" Collapsed="sw" Expanded="pos"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
            <DataGrid.RowDetailsTemplate>
                <DataTemplate>
                    <StackPanel>
                         <DataGrid Name="wz" ItemsSource="{Binding flight_list}"/> 
                    </StackPanel>
                </DataTemplate>
            </DataGrid.RowDetailsTemplate>
        </DataGrid>

C#:

 public ObservableCollection<flight> flight_list { get; set; }
    public ObservableCollection<subject> nowy { get; set; }
nowy = new  ObservableCollection<subject>() {
            {new subject(){ Przedmiot = "J.angielski", Nauczyciel = "B.A.Krawczyk", Sala = "120", Poziom = "Średnio-zaawansowany", Status = "Uczeń"}},
            { new subject(){Przedmiot = "polski", Nauczyciel = "zły", Sala = "130", Poziom = "podstawowy", Status = "gey"}}
        };
 flight_list = new ObservableCollection<flight>(){new flight(){From = "Warsaw", To = "Florida", schedule = new List<string>(){"12-02-2013", "12-03-2012", "31-2"}}};
 DataContext = this;
4

1 回答 1

0

首先,我看不到 和 之间的flight联系subject。其次,根据您的代码,绑定不是列表而是类型的行详细信息DataGrid项。flight无论如何,如果您想将其绑定到,flight_list除非您将其指定为 Source 而不是 Path,那么它将在类型flight的上下文中搜索subject,据我所知,它不会公开飞行属性。你也不需要使用ItemContainerTemplate,标准DataTemplate会做,因为你使用DataGrid的是ItemsControl

于 2013-05-18T10:41:28.370 回答