C# WPF创建滑出式面板

C# WPF创建滑出式面板,c#,wpf,C#,Wpf,我不知道这在技术上是如何工作的,但我的要求如下。我有一个数据网格,要将数据输入到数据网格,我希望在数据网格底部有一个面板,该面板在单击按钮时滑出,显示输入选项。除此之外,当面板滑出时,DataGrid也必须垂直调整大小。有人能告诉我如何实现这个吗?你可以使用扩展器。请看下面的代码片段 <DockPanel> <Expander DockPanel.Dock="Bottom"> <StackPanel>

我不知道这在技术上是如何工作的,但我的要求如下。我有一个
数据网格
,要将数据输入到
数据网格
,我希望在
数据网格
底部有一个面板,该面板在单击按钮时滑出,显示输入选项。除此之外,当面板滑出时,
DataGrid
也必须垂直调整大小。有人能告诉我如何实现这个吗?

你可以使用
扩展器
。请看下面的代码片段

 <DockPanel>
        <Expander DockPanel.Dock="Bottom">
            <StackPanel>
                <TextBlock Height="25"></TextBlock>
                <TextBlock Height="25"></TextBlock>
                <TextBlock Height="25"></TextBlock>

            </StackPanel>
        </Expander>
        <Border BorderBrush="LightGreen" BorderThickness="2">
            <DataGrid/>
        </Border>
    </DockPanel >

您应该能够使用带有两个子项的堆叠面板,即网格和面板。将面板的初始高度设置为0。单击按钮后,将高度设置为所需的高度(例如MyPanel.height=20)。如果需要,您可能希望将网格包装在ScrollViewer中

<StackPanel Orientation="Vertical">
    <ScrollViewer Height="Auto" VerticalAlignment="Stretch">
        <Grid Height="*" VerticalAlignment="Stretch" />
    </ScrollViewer>
    <ContentControl x:Name="MyPanel" Height="0" />
</StackPanel>

您可能需要尝试垂直对齐和Height=“Auto”或Height=“0”以获得所需的布局