/若datagrid出现滚动条可能会出现问题需要加上下面俩句话。
//因为出滚动条时,为了显示加速,datagrid会加载一部分数据。另一些数据当滚动时在加载进去 这样初始化获取不到这些数据。
//在datagrid上添加上以下俩句话可以避免预加载数据,使数据全部加载出来
EnableColumnVirtualization="False" EnableRowVirtualization="False"

// 页面加载,数据初始化

  1. private void Dict_PrSCList_Load(object sender, RoutedEventArgs e)
  2. {
  3. BingData();
  4. BingComplete();
  5. }

//绑定数据

  1. private void BingData()
  2. {
  3. DataTable dt;
  4. dt = MngDBFuncWPF.listPrSCName();
  5. lbCount.Content = "共找到 " + dt.Rows.Count + " 条符合条件的记录";
  6. udgList.ItemsSource = dt.DefaultView;
  7. }

//绑定数据后设置模板列中按钮显示和不显示

    1. private void BingComplete()
    2. {
    3. for (int i = 0; i < this.udgList.Items.Count; i++)
    4. {
    5. //int index = dataGrid.CurrentCell.Column.DisplayIndex;
    6. //获取行 并转换为DataGridRow
    7. var cntr = udgList.ItemContainerGenerator.ContainerFromIndex(i);
    8. if (cntr == null)
    9. {
    10. udgList.UpdateLayout();
    11. //datagrid.ScrollIntoView(datagrid.Items[rowIndex]);
    12. cntr = (DataGridRow)udgList.ItemContainerGenerator.ContainerFromIndex(i);
    13. //cntr.IsSelected = true;
    14. }
    15. if (cntr == null) return;
    16. DataGridRow ObjROw = (DataGridRow)cntr;
    17. //定义列
    18. DataGridTemplateColumn templeColumn = udgList.Columns[0] as DataGridTemplateColumn;
    19. if(templeColumn == null) return;
    20. //object item;
    21. //item = udgList.CurrentCell.Item;
    22. //item = udgList.Columns[0].GetCellContent(ObjROw);
    23. //FrameworkElement element = templeColumn.GetCellContent(item);
    24. //获取单元格 通过列和行的交汇处 获取单元格
    25. FrameworkElement element = templeColumn.GetCellContent(ObjROw);
    26. if (element == null) return;
    27. //通过 Name获取该单元格下的button元素
    28. Button btnUpdateNum = templeColumn.CellTemplate.FindName("BTBJ", element) as Button;
    29. //设置其是否隐藏
    30. btnUpdateNum.Visibility = Visibility.Hidden;
    31. }
    32. }

wpf datagrid 中按钮 动态显示的更多相关文章

  1. 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色

    原文:在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 在wpf datagrid中,想要根据一个条件来改变datagrid行的背景颜色 例如根据学生的年龄来修改,年龄 ...

  2. WPF DataGrid中鼠标双击某一列,弹出窗体作为(增加、修改、详细)按钮的快捷键。

    跟触发器行为有关,什么是触发器什么是行为,百度其他人写的乱七八糟的,我并不能看懂.在此先强行记忆,后知后觉,再回来理解. <i:Interaction.Triggers> <i:Ev ...

  3. WPF datagrid 列按钮使用

    原文:WPF中使用DataGrid时操作列按钮问题     <DataGrid x:Name="datagrid" AutoGenerateColumns="Fal ...

  4. WPF dataGrid中的check的改变事件

    关于datagrid信息: <DataGridTemplateColumn Header="备注"> <DataGridTemplateColumn.CellTe ...

  5. 编写 WPF DataGrid 列模板,实现更好的用户体验

    Julie Lerman 下载代码示例 最近我在为一个客户做一些 Windows Presentation Foundation (WPF) 方面的工作. 虽然我提倡使用第三方工具,但有时也会避免使用 ...

  6. wpf 获取datagrid中模板中控件

    //获取name为datagrid中第三列第一行模板的控件 FrameworkElement item = dataGrid.Columns[].GetCellContent(dataGrid.Ite ...

  7. 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH

    原文 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH 在项目中关于DataGrid的遇到过一些问题,其中是关于迁入CheckBox的双向 ...

  8. WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选)

    原文:WPF中DataGrid中的DataGridCheckBoxColumn用法(全选,全否,反选) 前台代码 <DataGrid.Columns> <DataGridCheckB ...

  9. WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter

    一.如何从 Datagrid 中获得单元格的内容 DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它的 items. 但是,W ...

随机推荐

  1. iOS 调用音乐播放以及视频播放器

    音乐播放 NSString *path = [[NSBundle mainBundle] pathForResource:@"预谋" ofType:@"mp3" ...

  2. react 执行 yarn build 后 去除 .js.map 文件

    map文件是帮助我们查看报错的位置的. map文件由devtool属性控制,如果不想要map,注释掉就可以,大约webpack.config.prod.js第57行: // devtool: shou ...

  3. Unity 使用 Stripping Level == Use micro mscorlib 导致 MD5.Create() 返回NULL

    这几天在弄资源更新,昨天导出Android APK 到手机上測试,发现MD5 校验的时候一直出错.打出Log 又一次导包測试发现 MD5.Create() 返回NULL 可是在电脑上是好好的,在手机上 ...

  4. JAVA中的Session和Cookie【转】

    一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于才服务器端保持状态的 ...

  5. 01-hibernate注解:类级别注解准备工作

    注解简介: 目的:为了简化繁琐的ORM映射文件(.hbm)的配置. JPA与hibernate的关系 JPA:全称 java Persistence API(java持久化API接口) JPA注解是J ...

  6. HTML-HTML5+CSS3权威指南阅读(五、深入理解viewport)

    1.手机浏览器与桌面浏览器的不同 现在手机浏览器的显示分辨率与桌面浏览器差不多,但是手机的尺寸比电脑要小很多.一个没做过响应式处理的网站,在手机和电脑上显示完全一样的内容, 不可避免的会出现字体被缩小 ...

  7. CSS3使用Animation为同一个元素添加多个动画效果

    本篇文章由:http://xinpure.com/css3-animation-for-the-same-element-multiple-animation-effects/ CSS3 Animat ...

  8. 浅谈ThreadPool 线程池(引用)

    出自:http://www.cnblogs.com/xugang/archive/2010/04/20/1716042.html 浅谈ThreadPool 线程池 相关概念: 线程池可以看做容纳线程的 ...

  9. C# 可否对内存进行直接的操作?

    可以,用 unsafe.用的时候记得在项目属性(Properties)->生成(Build)->常规(General)中钩上允许不安全代码 (Allow unsafe code).否则会出 ...

  10. 纹理mag filter不能取GL_XXX_MIPMAP_XXXX

    今天遇到OpenGL error 0x0500错误,定位到 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, magFilter); 查看ma ...