首页 新闻 赞助 找找看

WPF ListBox纵向自动换列

0
悬赏园豆:20 [已解决问题] 解决于 2012-03-28 10:23

WPF ListBox纵向自动换列

比方说:我想在ListBox中添加很多Label,排列方式是纵向,当向下排列6个以后,就自动换列。我只要纵向换列的,不要横向换行,哪位大虾知道?

路晚歌的主页 路晚歌 | 初学一级 | 园豆:3
提问于:2012-03-27 16:18
< >
分享
最佳答案
0

list 裏面 包含 StackPanelStackPanel是 橫向排列。在父StackPanel中,再加入子StackPanel,竪排列。然後把label放到子StackPanel中。不知道你明白了嗎?

收获园豆:20
無限遐想 | 老鸟四级 |园豆:3740 | 2012-03-27 16:41

你的意思是说每列一个StackPanel?我一起有11列耶,那样岂不是太长了?而且我里面的Label是一次性动态遍历出来的,按你这个方法藐视不行额!

路晚歌 | 园豆:3 (初学一级) | 2012-03-27 17:40

@路晚歌: 這些都是動態生成的。先 初始化一個StackPanel,裏面放一個 子StackPanel,如果這個子StackPanel放滿了。就再添加一個子StackPanel,接著放哦

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-27 17:42

@無限遐想: 你是说先纵向动态添加6个Label,把他们放到一个子StackPanel里,然后再横向遍历子StackPanel?我那每个Label都有名称的,这样的话岂不是横向子StackPanel里的Label名称都一样?我这画的是一个网格,后面还要添加东西的,按Label的名称依次往下添加,按你这个方法网格倒是能话出来,但往里面添加东西的时候好像不行啊

路晚歌 | 园豆:3 (初学一级) | 2012-03-28 08:53

@路晚歌: 爲什麽不行,這個只不過是動態 添加控件哦。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-28 08:58

@無限遐想: 因为我后面要往网格里添加东西,按名称依次添加,你那样做的话,那每列网格的名称都一样把,那样怎么依次添加呢,比如,我的网格是6行11列,一起66个格子,网格的名称一次是Label1到Label66,我添加东西的时候按1到66依次添加,你那样做的话,做出来的格子,每行的格子名称都一样额

路晚歌 | 园豆:3 (初学一级) | 2012-03-28 09:03

@路晚歌: 怎麼會一樣呢?名字是你自己起的哦

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-28 09:04

@無限遐想: 难道我没听懂你的意思?你能不能用代码写出来看看?谢谢

路晚歌 | 园豆:3 (初学一级) | 2012-03-28 09:07

@路晚歌: 

int m=0;

 

for(int i=0,i<11;i++){

StackPanel s=new StackPanel();

s.name="StackPanel"+i.tosing();

 for(int k=0;k<6;k++){

label l=new label();

l.name="label"+m.tostring();

m++;

}

this.controsls.add(s);

}

大致 就是這個意思。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-28 09:15

@無限遐想: 额,不好意思,我以为你Label.name=“label” +k.tostring();你现在这样应该可以,我去试试,非常感谢!

路晚歌 | 园豆:3 (初学一级) | 2012-03-28 09:20

@無限遐想: 搞定了,谢了

路晚歌 | 园豆:3 (初学一级) | 2012-03-28 10:23
其他回答(1)
0

自动换列是什么意思?

today4king | 园豆:3499 (老鸟四级) | 2012-03-27 17:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册