Рейтинг@Mail.ru

WPF: как растянуть содержимое заголовка экспандера на всю ширину

Чтобы в WPF растянуть содержимое заголовка экспандера Expander.Header на всю ширину, необходимо указать в свойстве Width с помощью расширения разметки следующее:

<Expander>
    <Expander.Header>
        <Grid 
            Width="{Binding RelativeSource
                     ={RelativeSource Mode=FindAncestor, 
                     AncestorType={x:Type Expander}}, 
                     Path=ActualWidth}">
…
        </Grid>
    </Expander.Header>
</Expander>

При таком подходе, если вы имеете множественные элементы типа Expander на странице или в окне, возможны проблемы производительности при отрисовке пользовательского интерфейса (GUI). В этом случае можно поступить так: переопределить стиль экспандера и задать свойству HorizontalAlignment элемента ContentPresenter значение Stretch вместо Left.

Поделиться