Как развернуть и свернуть в WPF, как на веб-странице



Знаком ли кто-нибудь с веб-сайтами, имеющими атрибут, подобный древовидному представлению? Например, сегмент загрузки веб-сайта Microsoft. Вы нажимаете кнопку "плюс", она расширяется, и все, что находится ниже, движется дальше вниз. Вы нажимаете кнопку минус, и все в этом блоке сворачивается, а содержимое ниже сдвигается вверх.



Конечно, C# - это не что иное, как HTML и CSS, но я просто хотел узнать, можно ли сделать то же самое в приложении WPF.



Похоже на древовидное представление в настоящее время в окне инструментов допускается только текст, который будет реализован. Он не допускает дополнительных объектов, таких как метки или текстовые поля.



Я открыл расширитель, и он делает хорошую работу по расширению и сжатию своего содержимого, но не вполне способен вытягивать объекты под ним обратно или толкать их обратно вниз. Вот пример сценария, который мне бы понравился.





Примером того, что я собираюсь сделать, будет Страница загрузки microsoft, Если это поможет. Как их кнопки расширения и сворачивания работают.



Так есть ли способ сделать это?

599   3  

3 ответов:

Вот пример использования Expander в качестве способа, которым страница загрузки в Microsoft использует его. Обратите внимание, что Height из RowDefinitions имеет значение Auto, в противном случае Expander не коллапсирует, когда IsExpanded имеет значение false.

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Expander IsExpanded="True">
        <Border BorderBrush="Red" BorderThickness="2">
            <TextBlock Height="50" Text="Hello" />
        </Border>
    </Expander>
    <Expander Grid.Row="1" IsExpanded="True">
        <Border BorderBrush="Green" BorderThickness="2">
            <TextBlock Height="50" Text="World" />
        </Border>
    </Expander>
</Grid>

Обычный вид дерева может сделать то, что вы просите.

Смотрите это замечательное объяснение кода-проекта:

Http://www.codeproject.com/Articles/124644/Basic-Understanding-of-Tree-View-in-WPF

WPF Expander компонент делает именно то, что вы хотите, и он нажимает вниз другой элемент управления, если размещен в соответствующей панели. Попробуйте использовать StackPanel, например.

Comments

    Ничего не найдено.