求一个WPF的解决方案。
这个是股票中的成交量,从左往右排序,左侧满了,就开始填充第二列。第三列。
解决方案
10
假设你每一列都是一个ListView,你可以限定每一个ListView最大50条数据,超过50条就满了。
首先在最外面放一个ScrollViewer。ScrollViewer的内容是一个StackPanel,设置StackPanel的Orientation为Horizontal,表示水平排列。然后往StackPanel里面加ListView,当ListView的数据达到50条后,就再加一个新的。
首先在最外面放一个ScrollViewer。ScrollViewer的内容是一个StackPanel,设置StackPanel的Orientation为Horizontal,表示水平排列。然后往StackPanel里面加ListView,当ListView的数据达到50条后,就再加一个新的。
10
比较简单的做法就是使用WrapPanel,缺点呢就是要固定大小,局限比较大。
<WrapPanel Orientation="Vertical" Width="420" Height="150"> <WrapPanel.Resources> <Style TargetType="TextBlock" > <Setter Property="Width" Value="200" /> </Style> </WrapPanel.Resources> <TextBlock Text="hello1" /> <TextBlock Text="hello2" /> <TextBlock Text="hello3" /> <TextBlock Text="hello4" /> <TextBlock Text="hello5" /> <TextBlock Text="hello6" /> <TextBlock Text="hello7" /> <TextBlock Text="hello8" /> <TextBlock Text="hello9" /> <TextBlock Text="helloA" /> <TextBlock Text="helloB" /> <TextBlock Text="helloC" /> <TextBlock Text="helloC" /> <TextBlock Text="helloE" /> </WrapPanel>
比较通用的做法,就是对ItemsControls,或ListBox进行继承或改样,使用本人的布局逻辑。
缺点是要本人写比较多的代码。
10
股票软件,以前做过一年多,你现在只考虑展示,后期会有很多功能需要添加的,建议基于itemcontrol本人写个自定义控件。
10
本人写个类继承自itemscontrol,重写arrangeoverride等布局方法,按你的需求对itemscontrol里的item进行布局