![](/img/trans.png)
[英]How do I change boolean properties with one click in PropertyGrid
[英]How do I view object properties in PropertyGrid?
目前,我有一個類型為A的對象,正由PropertyGrid查看。 但是,它的一個屬性是B類.B類屬性是不可擴展的。 我怎樣才能改變這一點:
a)我可以展開自定義對象屬性b)這些更改綁定到該屬性
這是我到目前為止的代碼:
using System;
using System.Windows.Forms;
using System.ComponentModel;
namespace PropGridTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
A a = new A
{
Foo = "WOO HOO!",
Bar = 10,
BooFar = new B
{
FooBar = "HOO WOO!",
BarFoo = 100
}
};
propertyGrid1.SelectedObject = a;
}
}
public class A
{
public string Foo { get; set; }
public int Bar { get; set; }
public B BooFar { get; set; }
}
public class B
{
public string FooBar { get; set; }
public int BarFoo { get; set; }
}
}
您可以使用ExpandableObjectConverter
類來實現此目的。
此類將對象的屬性支持添加到TypeConverter提供的方法和屬性。 要使一種屬性在PropertyGrid中可擴展,請為GetPropertiesSupported和GetProperties的標准實現指定此TypeConverter。
要使用此轉換器,請使用TypeConverterAttribute
修飾相關屬性,並使用typeof(ExpandableObjectConverter)
作為構造函數參數。
public class A
{
public string Foo { get; set; }
public int Bar { get; set; }
[TypeConverter(typeof(ExpandableObjectConverter))]
public B BooFar { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.