Silverlight ListBox 横排显示并且自动换行

Silverlight ListBox 横排显示并且自动换行

 

 

在开发一个Silverlight项目中想用listbox来做数据绑定,并且横排显示,找了好就都没有找到理想的代码,最后在Toolkit中的demo中找到了横排的源码,现在分享给大家,

也为自己以后使用做一次笔记。

使用横排并自动换行,一开始想用stackpanel来做Listbox的模板,横排了,但是它不能自动换行,很郁闷,都有自己重写一个Panel的想法,最后在toolKit 的demo中发现WrapPanel可以实现横排和自动换行的功能,这样就不怕数据绑定的时候数据较多的时候横排显示无法全部显示的问题了。废话不多说,自己贴代码:

复制代码
 <Style x:Key="WrapListBox" TargetType="ListBox">
            <Setter Property="Background" Value="Transparent"></Setter>
            <Setter Property="ItemsPanel">
                <Setter.Value>
                    <ItemsPanelTemplate>
                        <controlsToolkit:WrapPanel Orientation="Horizontal" />
                    </ItemsPanelTemplate>
                </Setter.Value>
            </Setter>
            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"></Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <TextBox Text="{Binding MethodName}" Background="Transparent" Width="Auto"></TextBox>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
复制代码

使用WrapPanel 不要忘记引用 System.Windows.Controls.Toolkit这个dll就是SilverlightToolKit的dll,可以到codeplex.com 下载toolkit的源码和dll,

然后让ListBox的Style引用这个样式,可以后台绑定数据源实现自动横排和自动换行。其中这个style的Template是可以自己定义的,可以根据自己的数据模型自己定义显示的形式,这边只是提供一个简单的,可以灵活的使用,也可以不要这个Template,在Listbox中有一个DataTemplate也可以定义数据模板。

简单的说一下,如果有问题或者更好的建议可以分享一下

 

 

 

转载于:https://www.cnblogs.com/henhaoji/p/5415853.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值