C# 包裹面板上的WPF滚动条变灰

C# 包裹面板上的WPF滚动条变灰,c#,wpf,scrollbar,C#,Wpf,Scrollbar,我已经读了很多相关的话题,但没有找到解决办法。在WPF中,我试图在包裹面板上放置一个垂直滚动条。我正在动态构建包裹面板,它有标签和文本框。这是我的包装面板包装在一个滚动查看器 <ScrollViewer VerticalScrollBarVisibility="Visible" CanContentScroll="True" IsEnabled="True" AllowDrop="True"> <WrapPanel Orienta

我已经读了很多相关的话题,但没有找到解决办法。在WPF中,我试图在包裹面板上放置一个垂直滚动条。我正在动态构建包裹面板,它有标签和文本框。这是我的包装面板包装在一个滚动查看器

<ScrollViewer VerticalScrollBarVisibility="Visible" CanContentScroll="True" IsEnabled="True" AllowDrop="True">
                        <WrapPanel Orientation="Horizontal" Name="wpAddAttribute" Width="1129" IsEnabled="True" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Visible"></WrapPanel>
                    </ScrollViewer>
我确实看到屏幕右侧有一个垂直滚动条,但它总是灰显,即使我超出了我所在的空间。你知道如何打开/不关闭滚动条吗

这是我的包裹面板和父边框容器

 <Border Name="bdAddTestArea" Visibility="Collapsed" Background="DeepSkyBlue" BorderThickness="2" BorderBrush="Black" CornerRadius="10"  Margin="10" Width="1130" Height="330" ScrollViewer.CanContentScroll="True">
            <StackPanel ScrollViewer.CanContentScroll="True">
                <StackPanel Orientation="Vertical" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto">
                    <TextBlock Margin="4 0 0 0">Add a Test</TextBlock>
                    <StackPanel Orientation="Horizontal">
                        <Label Content="New Test Name:"></Label>
                        <TextBox Name="tbNewTestName" Width="75"></TextBox>
                        <Label Content="Test Estimate (in seconds):"></Label>
                        <TextBox Name="tbTestEstimate" Width="75"></TextBox>
                    </StackPanel>
                    <ScrollViewer VerticalScrollBarVisibility="Visible" CanContentScroll="True" IsEnabled="True" AllowDrop="True">
                        <WrapPanel Orientation="Horizontal" Name="wpAddAttribute" Width="1129" IsEnabled="True" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Visible"></WrapPanel>
                    </ScrollViewer>
                </StackPanel>

                <StackPanel Visibility="Visible" Orientation="Horizontal" >
                </StackPanel>
                <Button Content="Add an Attribute" Click="AddAttribute" Width="96" Margin="5 5 0 0" HorizontalAlignment="Left"></Button>
                <Button Content="Save Test" Click="SaveTest" Height="20" HorizontalAlignment="Left" Margin="5 5 0 0"></Button>
                <Button Content="Return To Test Selection" Click="ReturnToSelectionPanel" Height="20" HorizontalAlignment="Left" Margin="5 5 0 0"></Button>

            </StackPanel>
        </Border>

添加一个测试

为什么包裹面板的方向是水平的如果要垂直执行,请将方向更改为垂直。它在这里工作得很好。

我将包裹面板的方向设置为水平,这样我在代码隐藏中动态加载的字段将加载到同一行。将此更改为垂直将在单独的行上加载这些字段。是否尝试为ScrollViewer或其父容器指定高度?什么是父容器?请在提问时提供您的问题的详细信息。我试图发布父容器,但它限制了我的大小。它的高度确实为330。这是我的问题吗?这是父容器的代码…所有元素的总宽度是否真的超过1130,因此是否存在任何换行?当用户添加足够的行时会出现这种情况。当我这样做的时候,它只是超出了边界,你看不到被推过边界底部的行,这就是为什么我需要滚动工作。请提供一个最小但可复制的问题样本,包括边界和添加功能。
 <Border Name="bdAddTestArea" Visibility="Collapsed" Background="DeepSkyBlue" BorderThickness="2" BorderBrush="Black" CornerRadius="10"  Margin="10" Width="1130" Height="330" ScrollViewer.CanContentScroll="True">
            <StackPanel ScrollViewer.CanContentScroll="True">
                <StackPanel Orientation="Vertical" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Auto">
                    <TextBlock Margin="4 0 0 0">Add a Test</TextBlock>
                    <StackPanel Orientation="Horizontal">
                        <Label Content="New Test Name:"></Label>
                        <TextBox Name="tbNewTestName" Width="75"></TextBox>
                        <Label Content="Test Estimate (in seconds):"></Label>
                        <TextBox Name="tbTestEstimate" Width="75"></TextBox>
                    </StackPanel>
                    <ScrollViewer VerticalScrollBarVisibility="Visible" CanContentScroll="True" IsEnabled="True" AllowDrop="True">
                        <WrapPanel Orientation="Horizontal" Name="wpAddAttribute" Width="1129" IsEnabled="True" ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Visible"></WrapPanel>
                    </ScrollViewer>
                </StackPanel>

                <StackPanel Visibility="Visible" Orientation="Horizontal" >
                </StackPanel>
                <Button Content="Add an Attribute" Click="AddAttribute" Width="96" Margin="5 5 0 0" HorizontalAlignment="Left"></Button>
                <Button Content="Save Test" Click="SaveTest" Height="20" HorizontalAlignment="Left" Margin="5 5 0 0"></Button>
                <Button Content="Return To Test Selection" Click="ReturnToSelectionPanel" Height="20" HorizontalAlignment="Left" Margin="5 5 0 0"></Button>

            </StackPanel>
        </Border>