好奇求知 积极热忱 善用资源 勇于责任 团队协作 恪守承诺 开放大度 激励奋发
                
                想象:
我们将想象化为实际行动,为客户、大众和社区工作
                解决:我们协助解决一些世界上最棘手的问题
                营造:我们推崇企业文化,拓展市场、培养人才、为股东创造价值
                领先:我们唯才是用,以学习进取、兼容并蓄、求新求变的精神保持企业领先

                GE: Imagination at work

[WPF疑难] 如何限定ListView列宽度

                             [WPF疑难] 如何限定ListView列宽度
                                           周银辉

今天遇到的一个Defect是:应该限定List View中列最小宽度以避免用户将列宽度拖拽为0而导致列消失。WPF的List View没有内置该机制,但我们可以通过监听用户拖拽操作来跟踪列宽并进一步限定用户拖拽,我已经搞定了该问题,请参见附件中的DEMO

Demo中的“ListViewLayoutManagerLib”项目已经该操作封装,如何使用该封装,请参考下面的说明(或GridViewCodeDemo.Window1.xaml)

1将ListViewLayoutManagerLib引入到项目中,名引入名字空间:xmlns:listViewMgr="clr-namespace:ListViewLayoutManagerLib;assembly=ListViewLayoutManagerLib"

2在需要限定操作的ListView控件上启用ListViewManager:listViewMgr:ListViewLayoutManager.Enabled="True"

3在需要限定的列上制定限定值  listViewMgr:RangeColumn.MinWidth="50"

            <ListView listViewMgr:ListViewLayoutManager.Enabled="True">

            <ListView.View >

                <GridView AllowsColumnReorder="true">

                    <GridViewColumn

                        listViewMgr:RangeColumn.MinWidth="50"

                        Header="MinWidth100"

                        Width="150"/>

                    <GridViewColumn

                        listViewMgr:RangeColumn.MinWidth="100"

                        listViewMgr:RangeColumn.MaxWidth="200"

                        Header="Width100~200" Width="150"/>

                    <GridViewColumn Header="Normal" Width="150"/>

                </GridView>

            </ListView.View>

        </ListView>

Demo下载

posted on 2008-06-03 19:49 周银辉 阅读(1704) 评论(12)  编辑 收藏 所属分类: WPF

评论

#1楼  2008-06-03 21:31 哦,奇怪      

哦,沙发:)   回复  引用  查看    

#2楼  2008-06-03 23:55 林晨 [未注册用户]

太强了,一直被这个问题困扰着,要向你学习哦!   回复  引用    

#3楼 [楼主] 2008-06-04 07:42 周银辉      

@林晨
啊o(∩_∩)o...哈哈   回复  引用  查看    

#4楼  2008-06-04 11:58 求知无傲      

不错喔。   回复  引用  查看    

#5楼  2008-06-04 16:18 Clingingboy      

请问在使用中,系统有没用一些框架?   回复  引用  查看    

#6楼  2008-06-05 14:36 申请加入~~ [未注册用户]

谢谢~~吸收!   回复  引用    

#7楼  2008-06-06 09:22 renhaojie [未注册用户]

太厉害了!我刚刚开始研究WPF,希望以后能向你多多请教!   回复  引用    

#8楼  2008-06-10 00:18 caoyang.org      

很强大!

谢谢银辉兄的分享!

不过有个小问题,不知算不算是个bug, 就是这个ListView的View如果在ListView.Loaded事件发生之后再重新赋值, 那么这个新的View里设置的 listViewMgr:RangeColumn.MinWidth="50" 就不管用了.

  回复  引用  查看    

#9楼 [楼主] 2008-06-10 20:16 周银辉      

@caoyang.org
hi, 谢谢提醒:) 我看看.....   回复  引用  查看    

#10楼  2008-06-15 16:19 caoyang.org      

@周银辉
Hi,银辉兄最近有没有空看看我前几天提的问题呢?
或者给个思路,我自己改改?

谢谢!   回复  引用  查看    

#11楼  2008-06-20 09:12 snowrabbit [未注册用户]

请问,你现在的工作就是用WPF吗   回复  引用    

#12楼 [楼主] 2008-06-20 21:54 周银辉      

@snowrabbit
是的,我们的系统前端是WPF打造的   回复  引用  查看    

导航

公告

<2008年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

统计

搜索

 

常用链接

留言簿(79)

我参加的小组

我参与的团队

随笔分类(174)

随笔档案(165)

友情链接

积分与排名

最新随笔

阅读排行榜