问题标签 [collectioneditor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 自定义收藏编辑器最高级教程
我们需要了解有关如何自定义标准 .NET 集合编辑器的所有信息,我们该往哪里看?
.net - 在集合编辑器中更改参数时使控件无效
我们正在寻找一种更优雅的方式来更新控件内容,同时在集合编辑器中编辑它的属性。
据我们所知,唯一的解决方案如下:http ://dotnetfacts.blogspot.com/2008/05/how-to-take-control-over-collection.html
因此声明一个静态事件处理程序:
该解决方案有许多缺点(考虑拥有多个控件),我们想知道是否可以采用不同的方法。
谢谢。
vb.net - 自定义 CollectionEditor 永远不会触发属性的“设置”方法
我正在尝试实现一种将集合保存在自定义设置类中的方法。我已经成功创建了设置类(继承了 ApplicationSettingsBase),并且可以使用 PropertyGrid 上的内置编辑器保存属性,但是我对集合的属性网格的自定义实现不会保留我添加的任何值。这是我的代码:
我为 BackgroundColor 属性和 EmailAddresses 属性的 Set 方法设置了一个断点。BackgroundColor 属性按其应有的方式工作 - 它在 Set 语句上中断并正确存储该属性。但是当我关闭自定义 CollectionEditor 对话框时,永远不会调用 EmailAddresses“Set”方法。编辑完成后,如何让我的自定义编辑器实际保存属性?
c# - 列表设计师序列化
为什么下面的MyIntList属性正确解释了DesignerSerializationVisibility.Content
在设计器中产生以下输出:
而MyClassIntList one 输出以下内容?
下面是自定义控件类源代码:
这是完整的 Form1.cs 源代码,如果您想测试它:
c# - PropertyGrid - 从 IList 派生的属性, 如何添加到 PropertyGrid 以便用户可以添加/编辑/删除项目
让我提供一些关于我如何达到这一点的历史。
我最初在我的类中有一个从 CollectionsBase 派生的属性,并将这个集合映射到 PropertyGrid,用户可以随意从列表中添加/编辑/删除项目。
但是,我无法将 CollectionsBase 与 NHibernate 映射,因此我不得不放弃我的初始实现,而不是从 CollectionsBase 派生,我让类派生自 IList。
现在我可以映射到 NHibernate,但我无法通过 PropertyGrid 编辑集合。
我需要一些帮助才能让两人好好相处。
在我的主类中,我有一个属性定义为:
继承 IList 的我的 Zone Collection 定义如下:
}
现在,当此类从 CollectionsBase 派生时,我的 ICustomTypeDescriptor 和 PropertyDescriptor 工作正常,但现在它只在属性名称中显示类名称 ZoneCollection,而没有“...”按钮来添加/编辑/删除列表中的项目。
现在我做错了什么,因为它是从 IList 继承的,这不起作用?
如果我添加:
在 ZoneCollection 的开头,我将列表中的项目列在可展开的树中,但这不是我想要的。当我从 IList 而不是 CollectionBase 继承时,“...”按钮在哪里打开了一个弹出窗口,使我能够添加/编辑/删除集合中的项目?
c# - 如何创建自定义集合编辑器表单以与属性网格一起使用?
我正在尝试将属性网格控件与具有另一个类的列表/集合作为属性之一的类合并。让我们称它们为 A 类,列表将包含 B 类以供参考。
我想合并一个有两个列表框的表单。左侧的列表框将包含我的程序中当前不在右侧列表中的所有 B 类的列表。右侧的列表将包含当前与 A 类关联的所有 B 类。我希望在这两个列表之间移动项目之间的按钮。
这很容易设计,但我不确定如何设置要用作集合编辑器的表单。
谁能指出我正确的方向?
而且,如果有人能指出我完成此任务的方向,我该如何为包含 id 列表的属性设置下拉列表以供选择。
c# - 收藏编辑的父母
我有这样的财产:
我有一个LayerCollection
派生自CollectionEditor的类。而且这个Layers
属性在Canvas
类。现在,Layer
对象需要知道Canvas
作为集合的父类的类。那么我怎样才能得到名为 CollectionEditor 的父级LayerCollection
呢?
或者如果不可能,我可以在创建CollectionEditor时将参数传递给它吗?通过这种方式,我可以将Canvas
对象作为参数传递给Layer
它的创建时间。
c# - CollectionEditor 和“属性 '****' 的代码生成失败”错误消息
我有一个使用属性的用户控件CollectionEditor
。我在同一个解决方案中使用另一个项目来测试控件。我的集合编辑器可以正常工作,除了 IDE 在我重新编译组件 dll 后在设计时给出错误。如果我关闭 IDE,而不是重新打开解决方案,它可以正常工作。如果我更改控件的代码并重新编译它,IDE 会给我同样的错误。我意识到如果我重新编译控件,IDE 不会为集合生成代码。但是如果我关闭并重新打开 IDE,它会生成代码。
错误信息:
属性“AProperty”的代码生成失败。错误是:'[A]MyComponent.AProperty 无法转换为 [B]MyComponent.AProperty。A 型源自 'MyComponent; Version=1.0.0.0,Culture=neutral,PublicKeyToken=null',位于位置 '...\AppData\Local\Microsoft\VCSExpress\10.0\ProjectAssemblies\1f88w0l001\MyComponent.dll' 的上下文 'LoadNeither' 中。B 型源自 'MyComponent; Version=1.0.0.0,Culture=neutral,PublicKeyToken=null' 在上下文 'LoadNeither' 的位置'...\AppData\Local\Microsoft\VCSExpress\10.0\ProjectAssemblies\eb4apk_301\MyComponent.dll'。
这是控件中的属性。
以下是CollectionEditor
的代码:
wpf - 将 Visual Studio 集合编辑器与用户创建的自定义类型一起使用
我正在开发一个具有类型属性的自定义控件ObservableCollection<ICollectionItem>
我希望使用此控件的开发人员能够创建自己的实现 ICollectionItem 的类型并在 Visual Studio 2010 的集合编辑器中查看它。
我尝试过装饰带有属性的集合,NewItemTypes(ICollectionItem)
但它没有做任何事情(我猜 VS 已经发现新的项目类型应该是 an ICollectionItem
)
有没有办法实现这种功能?
谢谢。
c# - 完全禁用 CollectionEditor
我在 PropertyGrid 中使用自定义动态类对象(此处发布的代码太多)。简而言之,它的作用是允许我在运行时从任意输入创建属性(在本例中为 XML,但这不是重点)。这些属性可以是任何类型,包括另一个自定义类,因此它们可以无限嵌套。
我遇到的问题是 PropertyGrid 将此类视为一个集合,并且在 Value 列中有一个按钮,可让您打开 CollectionEditor。这(除其他外)具有添加和删除按钮,这两个按钮都会从根本上破坏自定义类。与其试图让这两个复杂的系统很好地协同工作,我宁愿干脆完全禁用 CollectionEditor。我有另一个系统,它允许您查看类的子对象(通过将 PropertyGrid.SelectedObject 设置为子对象)并且它工作正常。我希望用户甚至没有看到 CollectionEditor 的选项,因为它似乎与这个系统完全不兼容。
理想情况下,我只想在 Value 列中放置一个按钮,我可以捕获点击事件并自行处理,但这是可选的。我也不关心我是否只为有问题的行或整个 PropertyGrid 禁用 CollectionEditor。无论哪种方式我都没有使用它,所以任何使它无法访问的东西都会很好。