mvvm 模板中事件没有执行的解决方案

今天在wpf设计的过程中,用到了listview,数据绑定在模板中进行,其中有个按钮的click事件,一直不执行,很奇怪,找了很久才找到解决办法,原因还是暂时不清除:

<ListView x:Name="LvwClass" ItemsSource="{Binding ClassCollection}" Grid.Column="1">
<ListView.View>
<GridView>
<GridViewColumn Width="60">
<GridViewColumn.Header>
<CheckBox>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<command:EventToCommand Command="{Binding ClassCheckChangedCommand}" CommandParameter="True"></command:EventToCommand>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<command:EventToCommand Command="{Binding ClassCheckChangedCommand}" CommandParameter="False"></command:EventToCommand>
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox Margin="3,0,0,0" IsChecked="True"></CheckBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="60" Header="序号">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={StaticResource ListViewIndex},RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}, AncestorLevel=1}}" TextWrapping="Wrap"></TextBlock>

</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="60" Header="班级">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ClassName}" TextWrapping="Wrap"></TextBlock>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="60" Header="操作">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="清除" DataContext="{Binding Id}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<command:EventToCommand Command="{Binding DataContext.ClassItemClearCommand,
RelativeSource={RelativeSource AncestorType=Window,AncestorLevel=1}}"
CommandParameter="{Binding RelativeSource={RelativeSource AncestorType=ListViewItem,AncestorLevel=1},Path=DataContext}"
></command:EventToCommand>

</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>

</GridView>
</ListView.View>
</ListView>

时间: 2024-10-12 13:16:32

mvvm 模板中事件没有执行的解决方案的相关文章

JS中事件的执行顺序和AJAX的异步

之前了解过异步和同步,知道同步是顺序执行,异步是同时执行,但是没有遇到过这种情况,不是很理解,这两天做项目突然遇到了,对这有了一个初步的认识.废话不多说,直接上要求. 1.项目要求:外部调用xml文件,然后JS动态生成下拉菜单,使多个文件同时使用此菜单,方便维护. 如图,下面白色为以前的菜单,但是多个地图都需要写同样的菜单比较麻烦,也不好修改,所以做一个xml文件,存储菜单内容,然后多个地图调用,容易修改,蓝色部分菜单. 2.项目代码:此处我使用的Jquery addMenu(){ $.ajax

JS中事件的执行顺序

项目需求页面一键发布,下面是一个简单demo: html: <button id="send">提交</button> <table id="mytable"></table> js: $(function(){ $('#send').click(function(){ startTime = new Date();//设置开始时间 $.ajax({ type: "GET", url: "

在MVVM模式中,按钮Click事件的绑定方法

原文:在MVVM模式中,按钮Click事件的绑定方法 在MVVM模式中,我们将Button的方法写到ViewModel中,然后绑定到前端界面.通常的做法是写一个类,继承ICommand接口,然而如果按钮比较多的话,就需要写很多的类,对于后期维护造成很大的不变,微软提供了一个DelegateCommand类,可以简化开发. 使用方法如下: 首先生命ViewModel属性,GetMsg函数, public DelegateCommand GetMsg { get { return new Deleg

VBS一键配置VOIP(其中包括VBS操作JS网页中的按钮事件--直接执行确认按钮中的脚本代码)

Dim ws,fso,IESet IE = WScript.createobject("InternetExplorer.Application")Set ws = WScript.CreateObject ("WSCript.shell")Set fso=CreateObject("scripting.filesystemobject") Const reboot="/content.cgi?form=M_SAV" IE.m

解决jquey中当事件嵌套时,内层事件会执行多次的问题

出现情景:当内层事件需要外层事件触发后产生的一些值得时候 情景复现: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-eq

mysql 存储过程中使用事物+事件定时执行存储过程

(1)存储过程 DROP PROCEDURE IF EXISTS proc_test; CREATE PROCEDURE proc_test() BEGIN DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; START TRANSACTION; insert into score_record_bak(openid, nickname, city_id, city

ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: 对于字符串的截取,truncate函数只适合英文用户,对与中文用户来说,使用 truncate会出现乱码,而且对于中文英文混合串来说,截取同样个数的字符串,实际显示长度上却不同,一个中文的长度大致相当于两个英文的长度.此外,truncate不能同时兼容GB2312.UTF-8等编码. 解决方法:自

数据库建模模板、菜单显示出问题解决方案

数据库建模模板.菜单显示出问题解决方案 您使用的是哪个版本? 要查找您使用的 Visio 版本,请在"帮助"菜单上单击"关于 Microsoft Office Visio".版本的名称会显示在对话框最上面的文本行中. Standard     此版本不包含"数据库模型图"模板. Professional     此版本支持"数据库模型图"模板的反向工程功能(即在 Visio 中使用现有数据库创建模型),但是不支持正向工程功能(

走进AngularJs(二) ng模板中常用指令的使用方式

通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板开始入手是个不错方式,因为这部分内容相对简单好理解,而且是视图层的东西,大家都喜欢可以立马看得见的东西嘛.本篇我将搜罗模板中的常用指令一一测试,了解其使用方法,有点像背单词的感觉,会比较枯燥.不过对于初学,这样的枯燥是必须要经历的,开始~ 一.模板中可使用的东西及表达式 模板中可以使用的东西包括以下