WPF VS Collection编辑器教程?

时间:2013-03-01 02:54:28

标签: c# wpf visual-studio user-controls

我有一个带有Collection属性的usercontrol。我想要实现的是能够通过VS设计器(属性窗口/集合编辑器)添加/修改/删除该集合的某些数据类型的项目。

我有一个简单的课程:

public class Quantity
{
    public string Name { get; set; }
    public Type DataType { get; set; }
}

在我的UserControl中,我有:

private ObservableCollection<Quantity> _quantities = new ObservableCollection<Quantity>();
public ObservableCollection<Quantity> Quantities
{
    get { return _quantities; }
}

问题是我能够通过VS Collection编辑器更改Name属性,但我无法以这种方式更改DataType属性。

Modifying collection via VS collection editor

那么我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

我不相信这可以通过属性编辑器来实现。但是,您可以在XAML中生成结果。以下是使用您的示例的样子:

<my:UserControl1>
    <my:UserControl1.Quantites>
        <my:Quantity Name="Hello World" DataType="{x:Type sys:Boolean}"/>
        <my:Quantity Name="This is a double" DataType="{x:Type sys:Double}"/>
    </my:UserControl1.Quantites>
</my:UserControl1>

如果您需要访问系统类型(就像我在我的示例中使用的那样),您可以包含以下xmlns:

xmlns:sys="clr-namespace:System;assembly=mscorlib"

希望有所帮助:)