[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下载

原文地址:https://www.cnblogs.com/lonelyxmas/p/9047113.html

时间: 2024-11-06 12:45:44

[WPF疑难] 如何限定ListView列宽度的相关文章

ext:grid分页,列宽度自动填满grid宽度

var cm = new Ext.grid.ColumnModel([{      header : '编号',      dataIndex : 'id'     }, {      header : '名称',      dataIndex : 'name'     }, {      header : '描述',      dataIndex : 'descn'     }]);   var store = new Ext.data.Store({      proxy : new Ext

C# ListView 列宽自动调整

/*********************************************************************** * C# ListView 列宽自动调整 * 说明: * 记录将C#中的ListView列宽设置为自动调整. * * 2016-7-5 深圳 南山平山村 曾剑锋 **********************************************************************/ 一.参考文章: C# ListView Colu

html - table 表格不被撑开,td某些列宽度固定某些列自适应

table-layout 属性的解释:http://www.w3school.com.cn/cssref/pr_tab_table-layout.asp 1,实现table细边框,设置如下css: table,table td,table th{border:1px solid #ff0000;border-collapse:collapse;} 2,table表格宽度固定,同时td内容过长也不会被撑开,设置如下css: table{table-layout:fixed;word-break:b

jQuery拖动调整表格列宽度-resizableColumns

实现鼠标可拖动调整表格列宽度 如图: 一.引入文件: <script src="/js/jquery-1.8.0.min.js" type="text/javascript"></script> <script src="/js/store.js" type="text/javascript"></script> <script src="/js/jquery.r

EasyUI datagrid 列宽度拖动问题

问题:拖不动或者偶尔能拖动,拖动不按指定? 原因:列宽度绑定的时候使用的百分比; 方法:获取总宽度,经过百分比计算在绑定

WPF DataGrid绑定一个组合列

WPF DataGrid绑定一个组合列 前台: <Page.Resources>        <local:InfoConverter x:Key="converter"></local:InfoConverter>    </Page.Resources> <DataGridTextColumn>                        <DataGridTextColumn.Binding>      

两列布局,一列定宽,一列宽度自适应

方法一: body{ margin: 0;}.container{ height: 300px; overflow: hidden;}.left{ width: 200px; height: 300px; background: red; position: absolute; left:0; top: 0;}.right{ margin-left:200px; width: 100%; height: 300px; background: green;} <div class="cont

动态修改easyui datagrid 列宽度

$("#table").datagrid('hideColumn','a');//a表示列名,隐藏此列 var dg = $('#table');//table表id var col = dg.datagrid('getColumnOption','NAME');//获得该列属性 col.width = document.body.clientWidth*0.22;//调整该列宽度 col.align = 'center'; dg.datagrid(); 动态修改easyui data

常用布局-列宽度是固定宽度还是自适应

如何去理解一个页面需要仔细分析,页面结构形式再怎么变化,最终都还是基于两列布局结构的演变. 不同布局之间最大的区别是:列宽度是固定宽度还是自适应      布局思路:主要利用浮动和定位方式,借助负边距 宽度值与浮动的关系: 盒模型宽度默认auto,宽度撑满浏览器窗口宽度或其父级宽度,拥有padding和margin值及宽度默认值auto时盒模型的宽度大小始终保持在浏览器窗口或父级所显示的范围内. 盒模型宽度默认auto加上float时,盒模型的宽度由内容撑开.只能添加具体的width值保证盒模型