WPF 中的水平可折叠面板

Kel*_*ane 3 c# wpf

我正在尝试创建一个侧面可折叠面板,其中包括 StackPanel

在此处输入图片说明

对于那个尝试使用Expander如下

<Expander Width="auto" ExpandDirection="Left" HorizontalAlignment="Right">
    <Expander.Header>
        <Border BorderBrush="Black" BorderThickness="1">                       
            <StackPanel>
                <Grid>                  
                </Grid>
            </StackPanel>    
        </Border>
    </Expander.Header>
</Expander>
Run Code Online (Sandbox Code Playgroud)

但这不能正常工作,无法实现我预期的功能。

Eli*_*net 5

正如 Maciek ?wiszczowski 所说,您需要正确对齐扩展器并将内容放入扩展器的上下文部分。另外,假设您希望它填满整个左侧部分,我建议您使用Grid来容纳它,如下所示:

例子:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Expander ExpandDirection="Right" HorizontalAlignment="Left">
        <Border BorderBrush="Black" BorderThickness="1">
        </Border>
    </Expander>
</Grid>
Run Code Online (Sandbox Code Playgroud)

这是它的样子(我在扩展器中放置了蓝色背景和一些文本,并在第二列中放置了一个红色堆栈面板,以使其非常清晰)。

扩展:
展开

折叠:
折叠