zoukankan      html  css  js  c++  java
  • WPF ListView点击删除某一行并获取绑定数据

    最近在开发WPF程序时遇到一个问题,在gridview中希望实现在每一行最后添加一个删除的按钮,但是发现点击每行的button时只会触发button的点击事件,并没有选中这一行,此时调用list.SelectedItem时无法得到对应的绑定数据。

    UI.xaml
    <ListView x:Name="list" Height="494" Width="1121" FontSize="16" >
    <ListView.View>
    <GridView x:Name="grideView" >
    <GridViewColumn Header="产 品 名 称" Width="Auto" DisplayMemberBinding="{Binding Path=productName}"/>
    <GridViewColumn Header="产 品 类 型" Width="Auto" DisplayMemberBinding="{Binding Path=productType}"/>
    <GridViewColumn Header="产 品 大 类" Width="Auto" DisplayMemberBinding="{Binding Path=productCategory}" />
    <GridViewColumn Header="产 品 规 格" Width="Auto" DisplayMemberBinding="{Binding Path=productSpec}"/>
    <GridViewColumn Header="产 品 数 量" Width="Auto" DisplayMemberBinding="{Binding Path=number}"/>
    <GridViewColumn Header="价 格" Width="Auto" DisplayMemberBinding="{Binding Path=productMoney}"/>
    <GridViewColumn Header="操 作" Width="Auto" > <GridViewColumn.CellTemplate>
    <DataTemplate>
    <Button x:Name="BtnDelete" Background="{x:Null}" BorderBrush="{x:Null}" Click="BtnDelete_Click" >
    <Image Source="/images/error.png" />
    </Button>
    </DataTemplate> </GridViewColumn.CellTemplate>
    </ListView.View>
    </ListView>
     
    UI.cs
    /**
    * 删除按钮监听事件
    * */
    private void BtnDelete_Click(object sender, RoutedEventArgs e)
    {
    //设置girid的选中元素为Button所在行的元素
    list.SelectedItem = ((Button)sender).DataContext;
    //在数据集合中删除此元素
    mItemsSource.RemoveAt(list.SelectedIndex);
    list.Items.Refresh();//刷新listview
    }
    效果图

  • 相关阅读:
    火狐中添加selenium IDE
    loadrunner 手动添加关联
    loadrunner11完整卸载
    phpstudy后门交互式shell
    selenium+python Douyu弹幕机器人
    HTTP头sleep延迟注入
    DDCTF-2019
    感知器
    校园网破解
    pwn-格式化字符串漏洞
  • 原文地址:https://www.cnblogs.com/yelanggu/p/10463663.html
Copyright © 2011-2022 走看看