/若datagrid出现滚动条可能会出现问题需要加上下面俩句话。
//因为出滚动条时,为了显示加速,datagrid会加载一部分数据。另一些数据当滚动时在加载进去 这样初始化获取不到这些数据。
//在datagrid上添加上以下俩句话可以避免预加载数据,使数据全部加载出来
EnableColumnVirtualization="False" EnableRowVirtualization="False"
// 页面加载,数据初始化
- private void Dict_PrSCList_Load(object sender, RoutedEventArgs e)
- {
- BingData();
- BingComplete();
- }
//绑定数据
- private void BingData()
- {
- DataTable dt;
- dt = MngDBFuncWPF.listPrSCName();
- lbCount.Content = "共找到 " + dt.Rows.Count + " 条符合条件的记录";
- udgList.ItemsSource = dt.DefaultView;
- }
//绑定数据后设置模板列中按钮显示和不显示
- private void BingComplete()
- {
- for (int i = 0; i < this.udgList.Items.Count; i++)
- {
- //int index = dataGrid.CurrentCell.Column.DisplayIndex;
- //获取行 并转换为DataGridRow
- var cntr = udgList.ItemContainerGenerator.ContainerFromIndex(i);
- if (cntr == null)
- {
- udgList.UpdateLayout();
- //datagrid.ScrollIntoView(datagrid.Items[rowIndex]);
- cntr = (DataGridRow)udgList.ItemContainerGenerator.ContainerFromIndex(i);
- //cntr.IsSelected = true;
- }
- if (cntr == null) return;
- DataGridRow ObjROw = (DataGridRow)cntr;
- //定义列
- DataGridTemplateColumn templeColumn = udgList.Columns[0] as DataGridTemplateColumn;
- if(templeColumn == null) return;
- //object item;
- //item = udgList.CurrentCell.Item;
- //item = udgList.Columns[0].GetCellContent(ObjROw);
- //FrameworkElement element = templeColumn.GetCellContent(item);
- //获取单元格 通过列和行的交汇处 获取单元格
- FrameworkElement element = templeColumn.GetCellContent(ObjROw);
- if (element == null) return;
- //通过 Name获取该单元格下的button元素
- Button btnUpdateNum = templeColumn.CellTemplate.FindName("BTBJ", element) as Button;
- //设置其是否隐藏
- btnUpdateNum.Visibility = Visibility.Hidden;
- }
- }
标签:
WPF
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!