Xaml Scrollviewer中的扩展器:在折叠扩展器后,Scrollviewer不会收缩
我有一个网格。此网格包含一个scrollviewer,其中包含一个列表框,列表框中的项目是展开器。当展开展开器直到它们超过UserControl的垂直可用高度时,scrollviewer的滚动条将正确显示。当我再次折叠扩展器时,scrollviewer的滚动条保持不变!它不会像预期的那样收缩或消失 我已经尝试了一些不同的网格行设置(“自动”,“*”)和不同的垂直对齐设置(顶部,拉伸,…) 在折叠扩展器后,如何使scrollviewer再次收缩Xaml Scrollviewer中的扩展器:在折叠扩展器后,Scrollviewer不会收缩,xaml,telerik,scrollviewer,expander,Xaml,Telerik,Scrollviewer,Expander,我有一个网格。此网格包含一个scrollviewer,其中包含一个列表框,列表框中的项目是展开器。当展开展开器直到它们超过UserControl的垂直可用高度时,scrollviewer的滚动条将正确显示。当我再次折叠扩展器时,scrollviewer的滚动条保持不变!它不会像预期的那样收缩或消失 我已经尝试了一些不同的网格行设置(“自动”,“*”)和不同的垂直对齐设置(顶部,拉伸,…) 在折叠扩展器后,如何使scrollviewer再次收缩 <UserControl x:Class="E
<UserControl x:Class="Expanderin_Scroller.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation"
mc:Ignorable="d"
d:DesignWidth="440"
d:DesignHeight="300">
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ScrollViewer x:Name="ScrToolbox"
Grid.Row="1"
VerticalAlignment="Top">
<ListBox x:Name="Toolbox">
<telerik:RadExpander Header="Expander 1">
<StackPanel>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
</StackPanel>
</telerik:RadExpander>
<telerik:RadExpander Header="Expander 2">
<StackPanel>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
</StackPanel>
</telerik:RadExpander>
<telerik:RadExpander Header="Expander 3">
<StackPanel>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
</StackPanel>
</telerik:RadExpander>
<telerik:RadExpander Header="Expander 4">
<StackPanel>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
<TextBlock>Hello</TextBlock>
</StackPanel>
</telerik:RadExpander>
</ListBox>
</ScrollViewer>
</Grid>
</UserControl>
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
我可以在Telerik的帮助下解决这个问题:
此问题是由ListBox行为,特别是其ItemsPanel引起的。为了更新ListBox的大小及其内容的大小,可以将ListBox.ItemsPanel设置为StackPanel
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
现在,列表框的大小随着内容的变化而变化。您确定不只是使用
手风琴控件吗?或者,您是否尝试过使用列表框
ScrollViewer
而不是HandleScrolling
=True?我有专门设计的控件(ScrollViewer和expader)。所以我需要使用上面示例中的控件。没有别的想法吗?scrollviewer必须能够根据其内容进行调整。。。