WPF 中listview右键编辑,删除,保存

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

xaml页面代码如下:

    <Grid Loaded="Grid_Loaded">

        <ListView Height="209" HorizontalAlignment="Left" Margin="41,140,0,0" AlternationCount="2"  Name="listView_Demo" VerticalAlignment="Top" Width="738" FontSize="15" HorizontalContentAlignment="Left" BorderBrush="{x:Null}" >
            <ListView.ContextMenu>
                <ContextMenu  StaysOpen="True">
                    <MenuItem Header="编辑" Name="bianji" Click="bianji_Click" />
                    <MenuItem Header="保存" Name="baocun" Click="baocun_Click" />
                    <MenuItem Header="清空" Name="qingkong" Click="qingkong_Click">
                        <MenuItem Header="新增"/>
                        <MenuItem Header="放大"/>
                    </MenuItem>
                </ContextMenu>
            </ListView.ContextMenu>
            <ListView.View>
                <GridView>
                    <GridView.ColumnHeaderContainerStyle>
                        <Style TargetType="{x:Type GridViewColumnHeader}">
                            <Setter Property="IsEnabled" Value="False"/>
                        </Style>
                    </GridView.ColumnHeaderContainerStyle>
                    <GridViewColumn Width="40">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <Image Height="32" Width="40" Source="{Binding Img}"/>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                    <GridViewColumn Header="序号" Width="150" DisplayMemberBinding="{Binding Num}" />
                    <GridViewColumn Header="姓名" Width="200" DisplayMemberBinding="{Binding Name}"/>
                    <GridViewColumn Header="成绩" Width="150">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                    <Grid Width="150">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="*" />
                                            <ColumnDefinition Width="2*" />
                                        </Grid.ColumnDefinitions>
                                    <Image Height="30" Width="30" Name="imageName"  Source="pack://application:,,,/res/list_icon/group.ico"/>
                                        <TextBlock Width="Auto" TextAlignment ="Center" Text="{Binding State}" Grid.ColumnSpan="2" />
                                    </Grid>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>

                    <GridViewColumn Header="方向" Width="150" >
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                    <Grid Width="150">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="*" />
                                            <ColumnDefinition Width="2*" />
                                        </Grid.ColumnDefinitions>
                                        <Image Height="30"  Width="30" Name="imageDir"  Source="pack://application:,,,/res/list_icon/up.ico"/>
                                    <TextBlock Width="Auto" TextAlignment ="Center" Text="{Binding Dir}" Grid.ColumnSpan="2" />
                                    </Grid>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                </GridView>
            </ListView.View>
            <ListView.ItemContainerStyle>
                <Style TargetType="ListViewItem">
                    <Style.Triggers>
                        <Trigger Property="ListView.AlternationIndex" Value="1">
                            <Setter Property="Background" Value="LightGray"/>
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </ListView.ItemContainerStyle>
        </ListView>
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="774,76,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
        <Label Content="Label" Height="28" HorizontalAlignment="Left" Margin="140,71,0,0" Name="label_Time" VerticalAlignment="Top" />
    </Grid>

实现效果如下图

Unity MVVM数据绑定框架实战:从原理到应用,告别GetComponent 在Unity应用与游戏开发中,数据绑定是实现UI与业务逻辑解耦的核心技术。其原理基于观察者模式,通过建立数据源与UI元素之间的自动同步机制,当数据变化时,UI能自动响应更新,无需手动调用GetComponent或拖拽回调。这项技术的核心价值在于实现关注点分离,提升代码的可维护性和可测试性,尤其适用于复杂的UI界面和状态管理。在实际应用场景中,开发者常借助MVVM(Model-View-ViewModel)模式来组织代码,而UnityMvvmToolkit正是这样一个专为Unity定制的开源数据绑定框架。它原 阅读详情

相关推荐

VC++ MFC中CListCtrl美化实战:CImageList与Owner Draw技术详解

在Windows桌面应用开发中,自定义控件绘制是提升软件专业度和用户体验的关键技术。其核心原理在于通过接管控件的绘制过程,实现对界面元素的像素级控制。这项技术的核心价值在于,它允许开发者在保持原生控件性能和兼容性的前提下,突破系统默认样式的限制,打造符合现代审美的交互界面。在MFC框架下,CListCtrl(列表控件)的美化是典型的应用场景,常用于文件管理器、数据表格、配置面板等需要展示结构化数据的界面。通过结合CImageList进行高效的图标资源管理,并启用Owner Draw模式进行完全自定义绘制,开

weixin_30787531的博客 344

C#-WPF ListView实现可编辑数据

WPF ListView 数据项可编辑

List Control单元格编辑方案:MFC与WinForms的浮层技巧与踩坑指南

在桌面应用开发中,列表控件是展示结构化数据的高频组件,但默认的只读设计往往让直接编辑成为难题。无论是MFC中的CListCtrl还是WinForms下的ListView,都缺乏开箱即用的单元格编辑能力。本文从列表控件的设计逻辑切入,解析标签编辑的启用与局限,并深入内嵌Edit控件的通用浮层原理,覆盖坐标换算、焦点回写、键盘操作及输入法候选框错位等工程实践细节。该方案不依赖第三方控件,几十行代码即可实现多列编辑,适合配置表格、日志管理、数据维护等场景,为桌面开发者提供一套跨框架的轻量编辑思路。

weixin_26850069的博客 348

WPF ListBox添加右键

WPF ListBox添加右键 一个很小的实例,希望对大家有帮助。

wpflistview编辑指定列_WPFListView列的动态添加和删除 | 学步园

简介昨天写了篇关于ListView列排序的文章:一种简单易用的WPF ListView点击列排序的方法,今天我们再来看看ListView动态添加或删除列的小方法。效果就类似下图,你已经定义好一个ListView,使用该方法可以根据ListView的列动态生成一个可以修改的列选项列表,通过修改列表的属性,ListView的列可以被动态添加或者删除。使用方法该方法的所有功能都实现在一个类型中:Colu...

weixin_35972199的博客 2566

WPF在TreeView中实现右键菜单及删除节点

删除节点比新增节点简单很多,主要是判断要删除的节点有没有兄弟节点,如果有,就直接删除删除的节点,如果没有,将父节点也一起删除。 首先定义一个右键菜单 XAML: <!--定义一个右键菜单控件--> <UserControl.Resources> <ContextMenu x:Key="cmButton"> ...

qq_41968515的博客 5446

WPF小技巧——ListView和TreeView的右键菜单(ContextMenu)点的谁

WPF右键点击ListView或TreeView时,是无法选中当前项的。当我们想在ListViewItem中实现右键菜单时,往往希望在弹出菜单的同时选中该项,以使得菜单针对当前项生效。

nichongben的博客 3266

ListBox中使用右键菜单绑定命令并传值

MVVM架构下,ListBox中使用右键菜单绑定命令并传值

weixin_43021163的博客 694

通过WPF自定义ListBox控件实现ListBoxItem中开关及删除功能

通过WPF自定义ListBox控件实现类似CAD图层关闭与删除功能 文章目录通过WPF自定义ListBox控件实现类似CAD图层关闭与删除功能前言一、程序界面设计二、代码部分2.1前端代码2.2后台代码总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、程序界面设计 ListBox控件设计如下所示,主要用到了TabControl

qq_42296146的博客 2132

UAssetGUI:轻量化UE资产编辑工具,提升独立游戏开发效率

在游戏开发,特别是使用虚幻引擎(Unreal Engine)的项目中,资产(Asset)管理是核心工作流。资产通常以序列化的二进制文件(如.uasset)形式存在,包含了材质、蓝图、模型等所有游戏数据。理解并高效处理这些资产,对于优化开发流程至关重要。其技术原理在于解析引擎的反射系统与二进制序列化格式,实现对资产内部数据结构的直接读写,这为自动化与批量处理提供了可能。这项技术的核心价值在于能极大提升开发效率,尤其适合资源有限的独立开发者或小型团队。通过外部工具直接操作资产文件,开发者可以绕过启动重型编辑器的

weixin_34378767的博客 423

UnityStudio源码剖析:从资源解析到二次开发实战

在游戏开发和逆向工程领域,资源文件解析与提取是一项基础且关键的技术。其核心原理在于理解二进制文件的序列化与反序列化机制,通过解析文件结构、类型树等元数据,将原始字节流还原为可识别的游戏资产(如纹理、模型、音频)。这项技术的价值在于赋能开发者深入引擎底层,实现资源审计、Mod制作、本地化支持等高级应用。UnityStudio作为一个典型的开源资源工具,其模块化架构和设计模式(如工厂模式、访问者模式)的运用,为解决**Unity资源解析**和**游戏数据提取**提供了优秀的工程实践范本。通过剖析其源码,开发者不

weixin_33769125的博客 464

wpf实现可编辑listview(新版)

修正上次BUG,在绑定时指定width

ListView数据增删改查

Android_对listview数据的增删改查

WPF实现简单增删改查

非常简单实用,适合新手学习,只实现了一个功能,有很大的开发空间 可以学到很多基础知识

ListView右键删除功能、delete键盘响应

1.     ListView右键删除功能该功能就是要实现在ListView里面,选中Item,鼠标右击弹出一个菜单参考资料:http://topic.csdn.net/u/20100106/10/91b7317d-57c7-49ef-b6f7-30d9aa5

路漫 7264

c# WPF listbox右键鼠标处弹出快捷菜单

原创    右键鼠标在item上就弹出快捷菜单,空白处不弹出.   这个直接添加一个Item模板就行了 MouseRightButtonUp="listBox_MouseRightButtonDown"    &lt;ListBox x:Name="listBox" IsSynchronizedWithCurrentItem="True" Margin=" 0,5,0,0"  Borde...

ayman_zawahiri的博客 6008

【C#】WPF给ListBox中的每一项添加右键菜单功能

可以使用ContextMenu 在控件上实现右键点击显示菜单。可以给菜单添加多个菜单项(MenuItem),每个菜单项可以绑定事件或命令。ContextMenu 默认不继承父控件的,但可以使用逐级向上绑定到。

weixin_43626218的博客 2032

wpf实现可编辑listview

本篇实现了wpflistview在item中通过与TextBox的绑定完成列表的可编辑功能。网上找了一些方法最终发现msdn提供的一套方案比较好,就在基础上做些修改,使得TextBox长度改变更加流畅及UI与数据源的双向更新。

ljc 8485

WPFlistview控件绑定右键菜单命令

在MvvM模式中,需要为listview控件绑定右键菜单命令,实现右键菜单,触发Command命令,并传递选中的所在项。 <ListView.View> <GridView > <GridViewColumn Header="时间" Width="160" Displa...

u014650759的专栏 2933
上一篇: WPF ListView列图片加字符串显示,点击行数据更换列图片
下一篇: WPF 加载GIF图片
CatchMe_439
博客等级 码龄10年 31粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值