首页 > 其他分享 >wpf GridView去除右侧空白列

wpf GridView去除右侧空白列

时间:2022-12-17 17:00:24浏览次数:58  
标签:ListView sender GridView 去除 wpf listView Columns View

页面

<ListView SizeChanged="ListView_SizeChanged" Loaded="ListView_Loaded" >
<ListView.View>
<GridView>
<GridViewColumn Header="col1" Width="100" />
<GridViewColumn Header="col1" Width="Auto" />
<GridViewColumn Header="col1" />
</GridView>
</ListView.View>
</ListView>

cs文件

private void ListView_SizeChanged(object sender, SizeChangedEventArgs e)
{
UpdateColumnsWidth(sender as ListView);
}

private void ListView_Loaded(object sender, RoutedEventArgs e)
{
UpdateColumnsWidth(sender as ListView);
}

private void UpdateColumnsWidth(ListView listView)
{
int autoFillColumnIndex = (listView.View as GridView).Columns.Count - 1;
if (listView.ActualWidth == Double.NaN)
listView.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));
double remainingSpace = listView.ActualWidth;
for (int i = 0; i < (listView.View as GridView).Columns.Count; i++)
if (i != autoFillColumnIndex)
remainingSpace -= (listView.View as GridView).Columns[i].ActualWidth;
(listView.View as GridView).Columns[autoFillColumnIndex].Width = remainingSpace >= 0 ? remainingSpace : 0;
}

​参考​

标签:ListView,sender,GridView,去除,wpf,listView,Columns,View
From: https://blog.51cto.com/ives/5949871

相关文章

  • WPF ControlTable 初始化问题
    VS2019 问题描述:ControlTable未进行初始化导致 ControlTable.Items.Count不存在,程序生成无问题,运行时一旦进行ControlTable初始化便出错。问题解决:程序使用了TextBox......
  • WPF-02 布局
    WPF中布局控件继承Panel,可以实现非常复杂的布局。我们介绍一下常用的布局控件  1.Grid布局控件Grid是网格布局控件,在WPF开发中我们用的最多的一个布局控件,可......
  • WPF-02 布局
    WPF中布局控件继承Panel,可以实现非常复杂的布局。我们介绍一下常用的布局控件  1.Grid布局控件Grid是网格布局控件,在WPF开发中我们用的最多的一个布局控件,......
  • WPF-02 布局
    WPF中布局控件继承Panel,可以实现非常复杂的布局。我们介绍一下常用的布局控件  1.Grid布局控件Grid是网格布局控件,在WPF开发中我们用的最多的一个布局控件,可以......
  • WPF深入简出(一)入门必看
    一、前言最近开始学习WPF,因为之间有一些winform的经验,所以想把WPF的学习过程记录下来,已被后查,本篇主要讲一些基础知识,介绍如何使用Visual Studio 2022创建一个WPF应用程......
  • wpf DataGrid cell 背景色修改参考
    <DataTemplate.Triggers><DataTriggerBinding="{BindingPath=IsSelected,RelativeSource={RelativeSourceAncestorType=DataGridRow}}"Value="True"><SetterT......
  • js去除字符串空格
    js去除字符串空格(空白符)使用js去除字符串内所带有空格,有以下三种方法:(1)replace正则匹配方法去除字符串内所有的空格:str=str.replace(/\s*/g,"");去除......
  • [WPF] MediaElement播放HDR视频泛黄、颜色显示不正确应该如何解决?
    当我们在使用MediaElement控件播放HDR视频时会遇到颜色发灰、泛黄的情况,难道是因为控件做的有问题?其实并不是程序问题,只是我们普通的应用程序工作在8bit色深的环境中,而HDR......
  • WPF学习-UI布局
    (1)WPF布局原则:1.不用显示的方式设置元素的尺寸。2.不使用屏幕坐标来指定位置。(2)常用布局控件:Grid容器、StackPanel、DockPanel、WrapPanel、UniformGrid、Canvas、In......
  • WPF实现ListBox滚动条自动定位至最底部
    摘要在有些场景下为了提升用户体验可能需要自动定位数据至最新的地方,比如实时运行日志、表格最新添加的数据记录等等,这种其实都可以使用WPF中的Behavior(行为)来进行实现,当......