zoukankan      html  css  js  c++  java
  • WPF mvvm select multi items via

    1.install-package Microsoft.Xaml.Behaviors.Wpf;

    2.xmlns:i="http://schemas.microsoft.com/xaml/behaviors";

    3.

    <DataGrid x:Name="dg" Grid.Row="0" ItemsSource="{Binding DataList,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
    AutoGenerateColumns="False" SelectionMode="Extended"
    Width="Auto" Height="Auto" HorizontalAlignment="Center" VerticalAlignment="Center">
    <i:Interaction.Triggers>
    <i:EventTrigger EventName="SelectionChanged">
    <i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" CommandParameter="{Binding ElementName=dg,Path=SelectedItems}"/>
    </i:EventTrigger>
    </i:Interaction.Triggers>

    4.In MVVM,

    private ObservableCollection<SalesOrderDetail> selectedItems;
    public ObservableCollection<SalesOrderDetail> SelectedItems
    {
    get
    {
    return selectedItems;
    }
    set
    {
    if(value!=selectedItems)
    {
    selectedItems = value;
    OnPropertyChanged("SelectedItems");
    }
    }
    }

    private DelegateCommand selectionChangedCommand;
    public DelegateCommand SelectionChangedCommand
    {
    get
    {
    if(selectionChangedCommand==null)
    {
    selectionChangedCommand = new DelegateCommand(SelectionChangedCommandExecuted);
    }
    return selectionChangedCommand;
    }
    }

    private void SelectionChangedCommandExecuted(object obj)
    {
    var selectedOrders=new List<SalesOrderDetail>((obj as IList).Cast<SalesOrderDetail>());
    if(selectedOrders!=null && selectedOrders.Any())
    {
    SelectedItems = new ObservableCollection<SalesOrderDetail>(selectedOrders);
    }
    }

  • 相关阅读:
    maven命令运行项目
    关于IDEA2020.1版本会出现maven依赖问题
    记录三十天 2020.5.7 day30
    GO
    有关IDEA的Settings常用设置(后续补充....)
    Windows下载安装 破解 idea2019.1.4
    关于tomcat9的startup.bat闪退问题&乱码
    python基础学习(十四)
    python基础学习(十三)
    IDEA常备插件推荐
  • 原文地址:https://www.cnblogs.com/Fred1987/p/14874561.html
Copyright © 2011-2022 走看看