wpf点击全选的在datagrid里列加一个checkbox控件,绑定模板
DataGridTemplateColumn.CellTemplate 中加入设定Checkbox的IsChecked属性为
IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}
然后修改对应的Item的IsChecked 属性就可以进行选择操作
<DataGrid x:Name="DGVShangchuan" Grid.Row="1" AutoGenerateColumns="False" ColumnHeaderHeight="25" Grid.ColumnSpan="2">
<DataGrid.ColumnHeaderStyle>
<!--使每一列的头部标题居中-->
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
<Setter Property="VerticalContentAlignment" Value="Center"></Setter>
<Setter Property="FontSize" Value="14"></Setter>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Width="50" Header="选中">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--<DataGridTextColumn FontSize="14" IsReadOnly="True" Width="40" Binding="{Binding XuHao}" Header="状态"/>-->
<DataGridTextColumn FontSize="14" IsReadOnly="True" Width="70" Binding="{Binding FileType}" Header="文件类型"/>
<DataGridTextColumn FontSize="14" IsReadOnly="True" Width="*" Binding="{Binding KonghaoFile}" Header="文件名"/>
<DataGridTextColumn FontSize="14" IsReadOnly="True" Width="*" Binding="{Binding CreateDate}" Header="提交时间"/>
<!--<DataGridTextColumn FontSize="14" IsReadOnly="True" Width="*" Binding="{Binding CreationTime}" Header="上传进度"/>-->
<DataGridTemplateColumn Header="上传进度" Width="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ProgressBar Value="{Binding Progress}" Minimum="0" Maximum="100" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn FontSize="14" IsReadOnly="True" Width="80" Binding="{Binding Remark}" Header="返回详情"/>
</DataGrid.Columns>
</DataGrid>
处理选中的问题
CheckBox CBCheck = (CheckBox)sender;
List<KonghaoJianceFile> ThisList = DGVShangchuan.ItemsSource as List<KonghaoJianceFile>;
if (ThisList!=null)
{
foreach (KonghaoJianceFile Kuaijianitem in ThisList)
{
Kuaijianitem.IsChecked = (bool)CBCheck.IsChecked;
}
}
DGVShangchuan.Items.Refresh();