• 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>

  • 相关阅读:
    登录 要求 密码必须包含数字、大写字母、小写字母、特殊字字符4种中至少3种
    job 异步获取
    g++的使用
    extern "c"
    C/C++定义全局变量/常量几种方法的区别
    使用Github管理cocos2dx版本
    二维码限制扫描区域
    Xcode路径改变之后,Cocopods不能使用,一行命令解决
    iOS之精确定时器
    iOS开发/App安全/代码自动混淆笔记
  • 原文地址:https://www.cnblogs.com/sczmzx/p/4643637.html
Copyright © 2020-2023  润新知