Расширитель Wpf внутри списка

как поставить эспандер внутрь listivew?. Я хочу показать расширитель в виде строк в списке.


person Community    schedule 31.08.2009    source источник
comment
Вы должны пометить ответы на свои вопросы как принятые. Это даст вам некоторую репутацию и побудит больше людей дать вам ответы.   -  person SLaks    schedule 31.08.2009
comment
Для этого нажмите на галочку рядом с вашим любимым ответом на каждый из ваших вопросов. Чтобы просмотреть все свои вопросы, щелкните свое имя в верхней части страницы.   -  person SLaks    schedule 31.08.2009
comment
поместите здесь код вашего списка   -  person Sauron    schedule 03.11.2009
comment
Ужасная дизайнерская идея. Отследить, какие экспандеры были развернуты, а какие свернуты, достаточно сложно; заставить пользователей использовать его еще хуже. Переосмыслите свой дизайн.   -  person Chad Lehman    schedule 25.04.2020


Ответы (2)


Вы можете сделать что-то подобное, определяя стиль ListView, чтобы разместить расширитель вокруг GridViewRowPresenter.

<ListView.Resources>
<Style  TargetType="{x:Type ListViewItem}">
    <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    <Setter Property="VerticalContentAlignment"   Value="Stretch" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ListViewItem}">
                <Expander Header="{Binding ColumnCaption}">
                    <GridViewRowPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Grid.IsSharedSizeScope="True">
                    </GridViewRowPresenter>
                </Expander>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>                        
</ListView.Resources>
person Jim    schedule 12.04.2011

Вы можете поместить расширитель в ItemTemplate.

person SLaks    schedule 31.08.2009
comment
Это сработало. Но я также хочу, чтобы заголовок списка отображался - person ; 31.08.2009