Создать подстроку / дочернюю строку в сетке данных из списка объектов в моем родительском объекте C # WPF - PullRequest
0 голосов
/ 16 ноября 2018

Итак, скажем, для этого примера у меня есть объект типа автомобиля справа. Класс автомобиля выглядит следующим образом:

class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public List<Wheel> Wheels { get; set; }
}

и класс Колеса выглядит следующим образом:

class Wheel
{
    public int ID { get; set; }
    public string Size { get; set; }
    public string Shape { get; set; }
    public string Brand{ get; set; }
}

так что в основном я хочу, чтобы List<Wheel> wheels отображался в подстроке / дочерней строке

См. Скриншот ниже:

What I want

Я работаю в C # WPF

1 Ответ

0 голосов
/ 16 ноября 2018

Вот как вы можете отображать ваши данные в виде вложенной сетки

    <DataGrid ItemsSource="{Binding Path=Cars}" AutoGenerateColumns="false"
              RowDetailsVisibilityMode="Visible"
              CanUserAddRows="False" >
        <DataGrid.Columns>
            <DataGridTextColumn Header="Make" Binding="{Binding Make}"/>
            <DataGridTextColumn Header="Model" Binding="{Binding Model}"/>
        </DataGrid.Columns>
        <DataGrid.RowDetailsTemplate>
            <DataTemplate>
                <DataGrid ItemsSource="{Binding Path=Wheels}" AutoGenerateColumns="false" CanUserAddRows="False">
                    <DataGrid.Columns>
                        <DataGridTextColumn Header="ID" Binding="{Binding Path=ID}"/>
                        <DataGridTextColumn Header="Size" Binding="{Binding Path=Size}" IsReadOnly="True"/>
                        <DataGridTextColumn Header="Shape" Binding="{Binding Path=Shape}" IsReadOnly="True"/>
                        <DataGridTextColumn Header="Brand" Binding="{Binding Path=Brand}" IsReadOnly="True"/>
                    </DataGrid.Columns>
                </DataGrid>
            </DataTemplate>
        </DataGrid.RowDetailsTemplate>
    </DataGrid>

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...