即使browsable属性设置为false,WPF工具包DataGrid也会显示字段

时间:2010-05-12 08:01:49

标签: c# wpf attributes browsable

您有一个可观察的集合,我使用DataGrid的itemsource属性绑定到DataGrid。

集合中类的所有属性都在DataGrid中正确显示。现在,我想使用类中的browsable属性[Browsable(false)]将一些字段隐藏到DataGrid。它在winforms中运行良好,但似乎无法在WPF中运行。

有人知道为什么吗?我可以稍后隐藏列,但我不想以这种方式损失性能。

还有其他解决方案吗?

感谢。

3 个答案:

答案 0 :(得分:10)

此代码适用于.NET 4.0

void m_grid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    if (((PropertyDescriptor)e.PropertyDescriptor).IsBrowsable == false)
       e.Cancel = true;
}

答案 1 :(得分:1)

能够设置成员属性并让.NET 4.0 DataGrid尊重它们会很好。

答案 2 :(得分:1)

DisplayAttribute msdn doc似乎适用于silverlight工具包。我没有在WPF中尝试过,但它们通常都是一样的。