c# – 有一个属性,我可以使用在我的类中告诉DataGridView不绑定到列表时为它创建一个列

我有一个类这样:

private class MyClass {
  [DisplayName("Foo/Bar")]
  public string FooBar { get; private set; }
  public string Baz { get; private set; }      
  public bool Enabled;
}

当我创建一个List< MyClass>并将其分配给DataGridView的DataSource,网格显示我两列,“Foo / Bar”和“Baz”。这是我想要发生的。

它目前工作,因为Enabled是一个字段,而不是一个属性 – DataGridView只会拾取属性。但是,这是一个肮脏的黑客。

我想让一个属性,但仍然隐藏在DataGridView上。

我知道我可以手动删除列后绑定..但这不是理想。

是否有一个类似于DisplayName的属性,我可以用属性标记?像[可见(假)]?

最佳答案
[Browsable(false)]将隐藏DataGridView中的属性。

A visual designer typically displays in the Properties window those
members that either have no browsable attribute or are marked with the
BrowsableAttribute constructor’s browsable parameter set to true.
These members can be modified at design time. Members marked with the
BrowsableAttribute constructor’s browsable parameter set to false are
not appropriate for design-time editing and therefore are not
displayed in a visual designer. The default is true.

转载注明原文:c# – 有一个属性,我可以使用在我的类中告诉DataGridView不绑定到列表时为它创建一个列 - 代码日志