我有以下课程:
public class Sp3dItem
{
public Sp3dItem()
{
Items= new ObservableCollection<Sp3dItem>();
}
public string OID
{
get;
set;
}
public string Name
{
get;
set;
}
public string Type
{
get;
set;
}
public ObservableCollection<Sp3dItem> Items
{
get;
set;
}
}
我需要向Datagrid(或任何其他类型的网格)显示此对象的实例的属性。与Visual Studio中的“属性”窗口类似。但是有一些我不关心的属性,比如'Items',我只需要显示字符串Type的属性,只有非空值的属性(这最后一个属性是加号,而不是真正的需要)。
问题是,我可以通过绑定做这样的事情,还是必须手动组装网格上的数据?
答案 0 :(得分:2)
听起来你想要一个属性网格来查看单个对象实例的属性,其中每个属性/值对都是'row',是吗?如果是这种情况,请查看一些第三方Property Grid控件。 WPF Extended Toolkit有一个免费的。
通常,这些网格可以自动发现目标对象的属性,您可以选择隐藏某些属性,方法是使用[Browsable(false)]
进行装饰。
答案 1 :(得分:1)
是的......一旦你弄清楚内置属性页面绑定向导如何与WPF一起工作,它是可能的,也很容易。为了让它适合您:
如果需要,您还可以编辑Datagrid的模板,但这与您的问题无关。