【发布时间】:2019-05-16 10:08:34
【问题描述】:
我通过 ListBox 中的LiveChart 实现了几个图表的呈现。
它运作良好。它通过在页面空间上自动包装图表来显示。但是,它不能垂直滚动。
当我将 ScrollViewer.HorizontalScrollBarVisibility 设置为 Enabled 为 1 行并带有水平滚动条时,它可以水平滚动。
但是,使用wrapPanel 并不是我想要的结果。
你有这样的经历吗?请帮帮我。
<StackPanel Orientation="Vertical">
<ListBox ItemSource="{Binding info}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Width="350" Height="250">
<lvc:CartesianChart>
<lvc:LineSeries Values="{Binding data}"/>
</lvc:CartesianChart>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
【问题讨论】:
-
确保
ListBox的视觉祖先中没有StackPanel。 -
@mm8 很抱歉,当我在垂直方向尝试
StackPanel时它还不起作用。 -
评论的意思是说不应该有一个 StackPanel。既不是 ListBox 的直接父级,也不是可视化树中更高的位置。请改用 Grid 或 DockPanel。
-
是的。这有点复杂。现在,它是当前层次结构:
<Window><Grid><Grid><Frame><Page><StackPanel><ListBox><StackPanel><CartesianChart>. -
@yahocho:所以从
Page中删除StackPanel。
标签: wpf livecharts