WPF 在后台代码中选中DataGrid的多行

复制代码
 1         /// <summary>
 2         /// 设置datagrid选中多行
 3         /// </summary>
 4         /// <param name="listIndex"></param>
 5         private void SetSelectMessageIndex(List<int> listIndex)
 6         {
 7             try
 8             {
 9                 foreach(var i in listIndex)
10                 {
11                     if (i >= datagrid.Items.Count)
12                         continue;
13 
14                     DataGridRow row = (DataGridRow)datagrid.ItemContainerGenerator.ContainerFromIndex(i);
15                     row.IsSelected = true;
16                 }
17             }
18             catch(Exception ex)
19             {
20                 Common.LogFile.LogErr(ex.ToString());
21             }
22         }
复制代码

在界面后台代码中设置要选中的行的序号,若是MVVM绑定则需通过事件触发

1      private void Win_Loaded(object sender, RoutedEventArgs e)
2         {
3             var vm = this.DataContext as ViewModel;
4             if (vm != null)
5             {
6                 vm.SetSelectMessageIndexEvent += SetSelectMessageIndex;
7             }
8         }

 

posted @   DarkChaos  阅读(290)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示