3

コレクション プロパティを持つユーザー コントロールがあります。私が達成したいのは、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 コレクション エディターを介して Name プロパティを変更できることですが、その方法で DataType プロパティを変更することはできません。

VS コレクション エディターによるコレクションの変更

それで、それを機能させるために何をしなければなりませんか?

4

1 に答える 1

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"

それが役に立てば幸い :)

于 2013-03-01T05:46:57.057 に答える