• Caliburn Micro下轻松实现ListView的全选功能


    Caliburn Micro是一个Caliburn精简版的开源框架,基于MVVM模式,可用于WPF, Silverlight, WP7等。有关它的具体介绍请看:

    http://caliburnmicro.codeplex.com/

    下面主要使用CM(Caliburn Micro)实现WPF的ListView全选功能,直接上码:

     1 <ListView Name="lvFileCart" DockPanel.Dock="Top" ItemsSource="{Binding FileCart}" FontSize="12" Height="150">
     2                 <ListView.ItemContainerStyle>
     3                     <Style TargetType="ListViewItem">
     4                         <Setter Property="HorizontalContentAlignment" Value="Stretch" />
     5                         <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
     6                     </Style>
     7                 </ListView.ItemContainerStyle>
     8                 <ListView.View>
     9                     <GridView>
    10                         <GridViewColumn Width="50">
    11                             <GridViewColumn.CellTemplate>
    12                                 <DataTemplate>
    13                                     <CheckBox IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=ListViewItem}}" HorizontalAlignment="Center"/>
    14                                 </DataTemplate>
    15                             </GridViewColumn.CellTemplate>
    16                             <HeaderedItemsControl>
    17                                 <CheckBox cal:Action.Target="{Binding ElementName=lvFileCart}" 
    18                                           cal:Message.Attach="[Event Checked]=[Action SelectAll]; [Event Unchecked]=[Action UnselectAll]" />
    19                             </HeaderedItemsControl>
    20                         </GridViewColumn>
    21                         <GridViewColumn Width="200" Header="Name" DisplayMemberBinding="{Binding Path=FileName}"/>
    22                         <GridViewColumn Width="100" Header="Size" DisplayMemberBinding="{Binding Path=FileSize}"/>
    23                         <GridViewColumn Width="200" Header="Path" DisplayMemberBinding="{Binding Path=FilePath}"/>
    24                     </GridView>
    25                 </ListView.View>
    26             </ListView>

     结果如下:

  • 相关阅读:
    Java自学-多线程 常见线程方法
    Java自学-多线程 启动一个线程
    Java自学-Lambda 聚合操作
    Java自学-Lambda 方法引用
    Java自学-Lambda 概念
    Java自学-泛型 泛型转型
    Java自学-泛型 通配符
    Java自学-泛型 支持泛型的类
    <VCC笔记> 关于Assertion
    <VCC笔记>VCC简介与安装
  • 原文地址:https://www.cnblogs.com/yghost/p/2377920.html
Copyright © 2020-2023  润新知