gpt4 book ai didi

wpf - ScrollViewer 在 WPF 中不滚动

转载 作者:行者123 更新时间:2023-12-03 08:52:37 25 4
gpt4 key购买 nike

我在包含 ItemsControl 的堆栈面板周围使用滚动查看器控件。当 ItemsControl 中有很多项目时,它应该滚动但由于某种原因它只是剪切了项目。这是代码:

<StackPanel>
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Visible">
<ItemsControl Name="icEvents" Width="Auto" Height="100" Background="AliceBlue"
ItemsSource="{Binding Path=EventSources}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Source:"/>
<TextBlock Text="{Binding Path=Source}" />
<TextBlock Text="Original Source:"/>
<TextBlock Text="{Binding Path=OriginalSource}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</StackPanel>

最佳答案

在您的 ScrollViwer 周围尝试网格而不是 StackPanel .我想 StackPanel将提供尽可能多的内部内容所需的高度,所以这里是 Scrollviwer无法正常工作,因为其高度不受其父控件的限制。

你可以从下面的例子中理解这个问题。

<StackPanel>
<ScrollViewer>
<ItemsControl >
<Rectangle Stroke="#FFC3C3C3" Height="300" Fill="Black" StrokeThickness="4" Width="200"/>
<Rectangle Stroke="#FFC3C3C3" Width="200" Height="300" Fill="Black" StrokeThickness="4"/>
<Rectangle Stroke="#FFC3C3C3" Height="300" Fill="Black" StrokeThickness="4" Width="200"/>
<Rectangle Stroke="#FFC3C3C3" Width="200" Height="300" Fill="Black" StrokeThickness="4"/>
<Rectangle Stroke="#FFC3C3C3" Width="200" Height="300" Fill="Black" StrokeThickness="4"/>
</ItemsControl>
</ScrollViewer>
</StackPanel>

上面的代码与你的类似,它没有给你滚动条。但请参阅下面的代码,其中我只更改了 StackPanelGrid (任何基于面板大小尊重其子项大小但 stackpanel 不尊重的面板)
<Grid>
<ScrollViewer>
<ItemsControl >
<Rectangle Stroke="#FFC3C3C3" Height="300" Fill="Black" StrokeThickness="4" Width="200"/>
<Rectangle Stroke="#FFC3C3C3" Width="200" Height="300" Fill="Black" StrokeThickness="4"/>
<Rectangle Stroke="#FFC3C3C3" Height="300" Fill="Black" StrokeThickness="4" Width="200"/>
<Rectangle Stroke="#FFC3C3C3" Width="200" Height="300" Fill="Black" StrokeThickness="4"/>
<Rectangle Stroke="#FFC3C3C3" Width="200" Height="300" Fill="Black" StrokeThickness="4"/>
</ItemsControl>
</ScrollViewer>
</Grid>

更新 : 但是如果你真的需要使用 StackPanel那么您可能需要为您的 ScrollViwer 设置大小获取内容滚动

关于wpf - ScrollViewer 在 WPF 中不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1132967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com