WPF中的水平可折叠面板

时间:2017-05-15 17:33:01

标签: c# wpf

我正在尝试创建一个包含StackPanel

的可折叠面板

enter image description here

对于尝试使用Expander,如下所示

<Expander Width="auto" ExpandDirection="Left" HorizontalAlignment="Right">
    <Expander.Header>
        <Border BorderBrush="Black" BorderThickness="1">                       
            <StackPanel>
                <Grid>                  
                </Grid>
            </StackPanel>    
        </Border>
    </Expander.Header>
</Expander>

但是这不能正常工作,不能做我期望的功能。

1 个答案:

答案 0 :(得分:3)

正如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>

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

展开:
Expanded

崩溃:
Collapsed