首页 新闻 搜索 专区 学院

WPF中的DataGrid如何显示每行数据的行号

0
[已解决问题] 解决于 2014-06-18 12:38

我试过dataGrid1.LoadingRow +=(sender,e)=>{e.Row.header=e.getIndex();}

这个在一般的页面中有效,但是在用户控件页面,行号就不显示了,调式发现走一样的代码,但是就是不显示,请问这是什么原因?

卷王归来的主页 卷王归来 | 初学一级 | 园豆:99
提问于:2014-06-17 22:38
< >
分享
最佳答案
0

可能是模板不一样造成的。

就是说在那个行号失效的用户控件页面的DataGrid的样式模板跟其他地方不一样。你检查下样式看看。

也有可能是你把DataGrid的RowHeader,隐藏起来了,检查下HeadersVisibility、RowHeaderStyle、RowHeaderTemplate、RowHeaderWidth,这几个属性,它们都会造成行号不显示。

奖励园豆:5
德年 | 小虾三级 |园豆:805 | 2014-06-18 10:38

页面很简单,就一个DataGrid和2个基本属性,AutoGenerateColumns="True"和 CanUserAddRows="False" ,没什么样式,在普通界面就能显示,用户控件就不能显示。

卷王归来 | 园豆:99 (初学一级) | 2014-06-18 11:01

@@admin:样式是有个作用范围的。

你的那个UserControl那里没有样式,但是这个用户控件的上层,上上层,直到App.xaml那层的样式都会影响那个UserControl。

德年 | 园豆:805 (小虾三级) | 2014-06-18 11:25

@德年: 还有你说不显示行号是整个 RowHeader都没有,还是有RowHeader,RowHeader有一定宽和高,但是里面没有文字?

如果有RowHeader,文字不显示,也可能文字的Foreground,跟RowHeader的background一样导致看不见。

德年 | 园豆:805 (小虾三级) | 2014-06-18 11:32

@德年: 确实是这个问题。谢谢

卷王归来 | 园豆:99 (初学一级) | 2014-06-18 12:37
其他回答(1)
0

对对对,O(∩_∩)O谢谢

lanboss | 园豆:204 (菜鸟二级) | 2016-01-22 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册