wpf datagrid绑定行选中状态
样式如下
<DataGrid Margin="0,6,0,0" HeadersVisibility="All" RowHeaderWidth="60" HorizontalScrollBarVisibility="Visible" AutoGenerateColumns="False"
ItemsSource="{Binding DisplayConfigList}" hc:DataGridAttach.ShowRowNumber="False" hc:DataGridAttach.ShowSelectAllButton="True"
>
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}" Name="dataGridRowCheckBox">
<hc:Interaction.Triggers>
<hc:EventTrigger EventName="Checked">
<!--<hc:EventToCommand Command="{Binding CheckCommand}" PassEventArgsToCommand="True" />-->
<hc:EventToCommand Command="{Binding DataContext.CheckCommand,RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="{Binding .,RelativeSource={RelativeSource AncestorType=DataGridRow}}" />
</hc:EventTrigger>
<hc:EventTrigger EventName="Unchecked">
<!--<hc:EventToCommand Command="{Binding CheckCommand}" PassEventArgsToCommand="True" />-->
<hc:EventToCommand Command="{Binding DataContext.CheckCommand,RelativeSource={RelativeSource AncestorType=DataGrid}}" CommandParameter="{Binding .,RelativeSource={RelativeSource AncestorType=DataGridRow}}" />
</hc:EventTrigger>
</hc:Interaction.Triggers>
</CheckBox>
</StackPanel>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
<DataGrid.Columns>
<!--<DataGridCheckBoxColumn Width="auto" Binding="{Binding ISSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Header="任务状态"/>-->
<DataGridTemplateColumn Header="操作">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Text="{Binding ISSelected}"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
command内容如下
CheckCommand = new BaseCommand((para) =>
{
if(para is DataGridRow row)
{
if(row.DataContext!=null && row.DataContext is VMIndexRunningConfig config)
{
config.ISSelected = row.IsSelected;
}
}
});
留待后查,同时方便他人
联系我:renhanlinbsl@163.com
联系我:renhanlinbsl@163.com
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器