我有一个数据绑定DataGrid交替行背景颜色。我想根据包含的数据对单元格进行不同的着色。我已经被这个线程WPF - 如何从DataGridRow获取单元格?
http://wpf.codeplex.com/Thread/View.aspx?ThreadId=51143
但是,
DataGridCellsPresenter主持人= GetVisualChild(行)
总是返回null试图提出解决方案。
我使用
public static T GetVisualChild<T>(Visual parent) where T : Visual
{
T child = default(T);
int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
for (int i = 0; i < numVisuals; i++)
{
Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
child = v as T;
if (child == null)
{
child = GetVisualChild<T>(v);
}
if (child != null)
{
break;
}
}
return child;
}
但VisualTreeHelper.GetChildrenCount(一DataGridRow的)总是返回0。我已验证DataGridRow不为空,并已被填充了数据。任何帮助表示赞赏。
谢谢。
+1 - 非常详细的答案 – David 2011-03-11 10:45:45
'在WPF的情况下,它是XAML标记+转换器类。' - 这是非常你的个人看法 – 2014-03-02 13:51:34