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

  • 相关阅读:
    Linux的学习--系统目录
    PHP内核的学习--创建PHP扩展
    PHP的学习--连接MySQL的三种方式
    MIME Type
    颜色的命名
    JavaScript的学习--生成二维码
    MySQL的学习--触发器
    Google Guava之--cache
    java代码调用oracle存储过程
    oracle序列
  • 原文地址:https://www.cnblogs.com/sczmzx/p/4643637.html
Copyright © 2020-2023  润新知