zoukankan      html  css  js  c++  java
  • 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也可以定义数据模板。

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

  • 相关阅读:
    归并之将两个有序数组合并(已測试)
    Embedded Android 协同翻译
    IOS中公布应用程序,进度条一直不走怎么处理
    《textanalytics》课程简单总结(2):topic mining
    编程小错误备忘录
    观察者模式
    scrapy递归抓取网页数据
    leetCode 95.Unique Binary Search Trees II (唯一二叉搜索树) 解题思路和方法
    spring4.0.0的配置和使用
    ios面试基础
  • 原文地址:https://www.cnblogs.com/henhaoji/p/5415853.html
Copyright © 2011-2022 走看看