0

我正在创建一个具有工具箱支持的自定义 WPF 控件。在将我的控件从工具箱拖放到 WPF 设计器时,需要在 XAML 级别创建集合对象,如下面的代码

< customcontrol>
<customcontrol.Property1>//observable collection object
<item value=""/>
<item value=""/>
<item value=""/>
</customcontrol.Property1>
< /customcontrol>

您能否就如何做到这一点提出任何想法?

注意:使用 Visual Studio 设计代码,这是我的代码

using Microsoft.VisualStudio.DesignTools.Extensibility.Metadata;
using Microsoft.VisualStudio.DesignTools.Extensibility.Model;

class CustomControlInitializer : DefaultInitializer

{
public override void InitializeDefaults(ModelItem item)
{
            TypeIdentifier itemsIdentifier = new TypeIdentifier("ObservableCollection<Item>");
            ModelItem items = ModelFactory.CreateItem(item.Context, itemsIdentifier);


TypeIdentifier nodeIdentifier = new TypeIdentifier("Item");

            ModelItem item1= ModelFactory.CreateItem(item.Context, nodeIdentifier);
            item1.Properties["Value"].SetValue("");

            ModelItem item2= ModelFactory.CreateItem(item.Context, nodeIdentifier);
            item2.Properties["Value"].SetValue("");

            ModelItem item2= ModelFactory.CreateItem(item.Context, nodeIdentifier);
            item2.Properties["Value"].SetValue("");

            items.Content.Collection.Add(item1);
            items.Content.Collection.Add(item2);
            items.Content.Collection.Add(item3);

            item.Properties["Property1"].Collection.Add(items);
}


}

4

0 回答 0