【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header

简介: 原文:【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header 一个ListView的MVVM简单例子: ...
原文: 【C#/WPF】ListView的MVVM例子,及禁止拖动ListView的头部Header

一个ListView的MVVM简单例子:

<ListView ItemsSource="{Binding GoodsList}" Margin="0,10,0,10">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="套餐编号" Width="120" DisplayMemberBinding="{Binding packageNo}" />
            <GridViewColumn Header="数量" Width="120" DisplayMemberBinding="{Binding num}" />
            <GridViewColumn Header="单价" Width="120" DisplayMemberBinding="{Binding price}" />
            <GridViewColumn Header="总金额" Width="120" DisplayMemberBinding="{Binding totalAmount}" />
            <GridViewColumn Header="选择" Width="120">
                <!-- 可以定义Cell的模板 -->
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <!--<TextBlock Text="{Binding Mail}" TextDecorations="Underline" Foreground="Blue" Cursor="Hand" />-->
                        <RadioButton GroupName="package" Checked="RadioButton_Checked"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

运行后效果如下(未填充任一条目):
这里写图片描述


发现问题:用户可以自由拖拽以改变头部的宽度!需要禁止这一操作。

给< GridView >设置它的头部样式为禁用即可,代码如下:

<GridView.ColumnHeaderContainerStyle>
    <Style TargetType="{x:Type GridViewColumnHeader}">
        <Setter Property="IsEnabled" Value="False"/>
    </Style>
</GridView.ColumnHeaderContainerStyle>

重要参考:
(谷歌搜wpf lock listview header)

http://stackoverflow.com/questions/181956/prevent-user-from-resizing-columns-with-wpf-listview

目录
相关文章
|
3月前
|
SQL 数据库 数据安全/隐私保护
C#wpf学习卡后台管理系统
C#wpf学习卡后台管理系统
101 32
|
10月前
|
C#
C# WPF 中 外部图标引入iconfont,无法正常显示问题 【小白记录】
本文介绍了在C# WPF应用程序中引入外部iconfont图标时可能遇到的显示问题及其解决方法:1) 检查资源路径和引入格式是否正确,确保字体文件引用格式为“#xxxx”,并正确指向字体文件位置;2) 确保图标资源被包含在程序集中,通过设置字体文件的生成操作为Resource(资源)来实现。
C# WPF 中 外部图标引入iconfont,无法正常显示问题 【小白记录】
|
10月前
|
编解码 C# 数据库
C# + WPF 音频播放器 界面优雅,体验良好
【9月更文挑战第18天】这是一个用 C# 和 WPF 实现的音频播放器示例,界面简洁美观,功能丰富。设计包括播放/暂停按钮、进度条、音量控制滑块、歌曲列表和专辑封面显示。功能实现涵盖音频播放、进度条控制、音量调节及歌曲列表管理。通过响应式设计、动画效果、快捷键支持和错误处理,提升用户体验。可根据需求扩展更多功能。
293 3
|
11月前
|
前端开发 C# 开发者
WPF开发者必读:MVVM模式实战,轻松构建可维护的应用程序,让你的代码更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,MVVM(Model-View-ViewModel)模式通过分离关注点,提高了代码的可维护性和可扩展性。本文详细介绍了MVVM模式的三个核心组件:Model(数据模型)、View(用户界面)和ViewModel(处理数据绑定与逻辑),并通过示例代码展示了如何在WPF项目中实现MVVM模式。通过这种模式,开发者可以更高效地构建桌面应用程序。希望本文能帮助你在WPF开发中更好地应用MVVM模式。
519 1
|
10月前
|
设计模式 前端开发 C#
WPF 项目中 MVVM模式 的简单例子说明
本文通过WPF项目中的加法操作示例,讲解了MVVM模式的结构和实现方法,包括数据模型、视图、视图模型的创建和数据绑定,以及命令的实现和事件通知机制。
|
11月前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
278 0
|
11月前
|
前端开发 开发者 C#
WPF开发者必读:MVVM模式实战,轻松实现现代桌面应用架构,让你的代码更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,MVVM(Model-View-ViewModel)模式通过分离应用程序的逻辑和界面,提高了代码的可维护性和可扩展性。本文介绍了MVVM模式的三个核心组件:Model(数据模型)、View(用户界面)和ViewModel(处理数据绑定和逻辑),并通过示例代码展示了如何在WPF项目中实现MVVM模式。通过这种方式,开发者可以构建更加高效和可扩展的桌面应用程序。
526 0
|
11月前
|
C#
C# WPF 将第三方DLL嵌入 exe
C# WPF 将第三方DLL嵌入 exe
179 0
|
11月前
|
C#
WPF 自定义可拖动标题栏
WPF 自定义可拖动标题栏
109 0
|
11月前
|
前端开发 C# 容器
WPF/C#:实现导航功能
WPF/C#:实现导航功能
225 0