Лучший способ проверить несколько столбцов в WPF Grid / список?

StackOverflow https://stackoverflow.com/questions/3790117

Вопрос

У меня есть пользовательский контроль пользователя, который я написал в WPF для отображения некоторых данных. Я хочу показать этот usercontrol в списке, но я также хочу предоставить несколько заголовков столбцов (сопоставление некоторых свойств на COTROL пользователя), чтобы пользователи могли сортировать на свойствах, содержащихся в USERCONTROL.

Я не уверен, что лучший способ пойти об этом.

В настоящее время у меня есть список списков, отображающих эти элементы управления пользователями, но у списка нет заголовка, и я не могу понять, как поставить несколько заголовков на списке.

В идеале я бы хотел что-то вроде этого:

Header1   Header2  Header3   Header4
[UserControlThatSpansAllFourColumns]

Моя другая мысль должна была использовать DataGrid и как-то получить каждый элемент для проведения нескольких столбцов, но до сих пор я не могу понять это либо.

Если у кого-то есть советы, я бы приветствовал их!

Это было полезно?

Решение

Хорошо, это не в каком-либо случате «лучший способ», но я бы просто бросил это. Один из способов такого рода работает как то, что вам нужно, это использовать список с пользовательским элементом Contactainerstyle, который использует <ContentPresenter> вместо по умолчанию <GridViewRowPresenter>. Отказ Этот короткий XAML несколько демонстрирует это:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ListViewItem">
                        <ContentPresenter/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Header1"/>
            <GridViewColumn Header="Header2"/>
        </GridView>
    </ListView.View>

    <Button>Item1</Button>
    <Button>Item2</Button>

</ListView>

Здесь вы получаете заголовки столбцов, а элементы проводятся по всему списку. В этом решении, однако, рендеринг предметов вроде в мире собственного мира. Это на самом деле не связано с столбцами, определенными для ListView. Так что я предполагаю, что один способ сделать эту работу лучше, чтобы обеспечить свой собственный <RowPresenter> Реализация, которая фактически учитывает GridViewColumns, определенные в родительском ListView.

Во всяком случае, надеюсь, это поможет как-то.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top