WPF列表,您可以在其中翻转每一行,并在此行下获得更多行

时间:2011-05-23 13:13:20

标签: .net wpf vb.net list

我想要一个填充例如汽车,当我点击一行时,一些有不同商店的行,你可以买到这些汽车的行应该显示在点击的行下。

我怎么能意识到这一点?

1 个答案:

答案 0 :(得分:1)

如果使用数据网格,则可以设置RowDetailsTemplate,它将自动显示所选行的详细信息。这是一个完整的dataGrid,请查看RowDetailsTemplate部分。它包含另一个数据网格,用于详细信息。

            <Data:DataGrid ItemsSource="{Binding SortedContainers}" 
                                       SelectedItem="{Binding CurrentItem, Mode=TwoWay}" AutoGenerateColumns="False" 
                                       FrozenColumnCount="0" IsEnabled="True">
            <Data:DataGrid.Columns>
                <Data:DataGridTextColumn Binding="{Binding Model.Bk_Term}" Header="Terminal" IsReadOnly="True" />
                <Data:DataGridTemplateColumn Header="Equip Id">
                    <Data:DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBox Text="{Binding Model.Eqp_Id}" VerticalAlignment="Center"  IsEnabled="True" IsReadOnly="True"/>
                        </DataTemplate>
                    </Data:DataGridTemplateColumn.CellTemplate>
                </Data:DataGridTemplateColumn>
                <Data:DataGridTextColumn Binding="{Binding Customer}" Header="Owner" IsReadOnly="True" />
                <Data:DataGridTextColumn Binding="{Binding Location}" Header="Location" IsReadOnly="True" />
                <Data:DataGridTextColumn Binding="{Binding Model.RE059Id}" Header="Id" IsReadOnly="True" />
            </Data:DataGrid.Columns>
            <Data:DataGrid.RowDetailsTemplate>
                <DataTemplate>
                    <Data:DataGrid ItemsSource="{Binding NoteList.AllItems}" AreRowDetailsFrozen="True" HorizontalAlignment="Stretch"
                        AutoGenerateColumns="False" FontSize="14" SelectedItem="{Binding Path=CurrentItem, Mode=TwoWay}"
                        Visibility="{Binding NoteList.AllItems.Count, Converter={StaticResource RowCountVisibilityConverter}}"
                        RowDetailsVisibilityMode="Visible">
                        <Data:DataGrid.Columns>
                            <Data:DataGridTemplateColumn Header="Notes"  Width="*">
                                <Data:DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBox Text="{Binding Model.Note}"
                                                    FontSize="10" Width="Auto" IsReadOnly="{Binding IsReadOnly}"
                                                    HorizontalAlignment="Stretch" VerticalAlignment="Center" TextWrapping="Wrap">
                                        </TextBox>
                                    </DataTemplate>
                                </Data:DataGridTemplateColumn.CellTemplate>
                            </Data:DataGridTemplateColumn>
                        </Data:DataGrid.Columns>
                    </Data:DataGrid>
                </DataTemplate>
            </Data:DataGrid.RowDetailsTemplate>
        </Data:DataGrid>