- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个包含两个属性网格的表单。第一个网格的 SelectedObject
属性设置为包含 item
对象。而第二个设置为item.Test
;
public MainForm()
{
InitializeComponent();
Item item = new Item();
propertyGrid1.SelectedObject = item;
propertyGrid2.SelectedObject = item.Test;
}
这是 Item
类的结构:
public class Item
{
List<int> _test = new List<int>();
public List<int> Test
{
get { return _test; }
set { _test = value; }
}
}
UI 的外观如下:
我的问题是,在网格 1 中,为什么 Test
属性显示在 Int32 集合编辑器中,而在网格 2 中它看起来不同?他们指着同一个物体,对吗?如何使网格 2 在 Int32 集合编辑器中显示 Test
属性?
最佳答案
在第一个窗口中,您正在显示一个对象,该对象具有一个名为Test
的成员,是集合;在第二个窗口中,您将显示集合本身 - 集合不知道名称。
Test
不是集合的名称;它是(访问时)返回集合的属性的名称。
在代码方面(仅供说明,注意 - 这里真正的东西是所有 PropertyDescriptor
等):
var obj = new PropertyTest(); // the outer object
现在,这个对象有一个名为 Test
的属性,给定“Test”,我们可以获得集合:
var collection = obj.Test; // at this point, we have all three
但是,从变量 collection
(实际上是从变量 collection
引用的对象),完全不可能 获取字符串“Test”。事实上,在公开此集合的任何对象或一组对象上实际上可能有零个、一个或任意数量的属性。
关于c# - 使用 PropertyGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531957/
我是C#/WPF的初学者,正在尝试使用Xceed PropertyGrid。在他们的网站上,他们显示了一个示例:
对 PropertyGrid 控件进行了一些运行,现在偶然发现了一个奇怪的问题。我在一个类中有一个 Uint32 属性,它是一个位掩码。因此,我决定创建一个带有 32 个按钮的自定义下拉 UserCo
我有一个项目,我们必须以所见即所得的方式在用户控件上表示一些图形对象。还需要编辑每个对象的属性(颜色、位置等)。 alt text http://lh6.ggpht.com/_1TPOP7DzY1E/
我正在使用 PropertyGrid (在 CollectionEditor 中)编辑类的一些属性。这些属性实际上包含在实现 ICustomTypeDescriptor 的类中。 .其中之一使用继承自
我见过的所有 PropertyGrid 示例都允许用户编辑单个对象,PropertyGrid 通过反射扫描该对象。我希望用户能够编辑一个 ini 文件或一本普通的字典,每个键值对一行。这可能吗? 最佳
有没有办法使 ExtJS4 PropertyGrid (Ext.grid.property.Grid) 不可编辑? 没有“可编辑”或“只读”配置选项 AFAICS。 最佳答案 另一种解决方案是添加一个
在 PropertyGrid 表单元素中,当我将属性添加到我的类别时,一些属性以粗体显示。 现在,我知道它表明它们是该类别中的默认值。我的问题是如何使所有属性不加粗? 我知道一种可能的方法是更改
我有: class Foo1 { private string name1; [CategoryAttribute("Category1")] public string Na
我有一个 PropertyGrid,我向其中添加了一个 bool 值数组。数组本身被标记为只读,属性网格可以正确识别它。 但是:如果我在网格中展开数组,所有项目都可以由用户编辑。当然那不是我想要的。如
我一直在研究 PropertyGrids,将它们链接到类,并试图弄清楚如何(如果可能)我可以显示一个类,在 扁平结构(好像它们都在一个类中) 我有几个类,Foo 和 Bar,如下所示: [Serial
在 C# 中,当使用对象具有 Collection 的 PropertyGrid 时,什么决定 DisplayName 旁边的值是否显示该值“(集合)”? 这个值是否有特定的属性? 谢谢 最佳答案 您
我在使用 propertygrid 时遇到了一些问题。即: 当我在 visual studio 设计器中使用 propertygrid 时,行为与在运行时以及调试时不同。 需要注意的几点(这是在设计器
我正在尝试使用 VS2005 (.NET 2.0) 在 C# 中实现对属性网格的拖放支持。 propertygrid 可以处理 dragenter 等事件,但似乎没有办法在拖动事件期间将 gridit
我正在使用 PropertyGrid 来显示通过实现 ICustomTypeDescriptor 公开的自定义属性。 我的对象设置在树结构中,每个属性的值要么在每个对象中设置,要么从父对象继承。在 P
是否可以在属性网格提示中添加可点击的超链接? 我的类(class)有以下内容(作为 SelectedObject 分配给属性网格): [Browsable(true), ReadOnly(false)
是否有一种简单的方法可以查明用户当前是否正在编辑属性网格? 我的用例如下:我每秒更新一次网格数据。如果用户正在编辑一个值,则在调用我的更新时所有输入都会丢失。所以我想做的是仅在用户未编辑内容时更新。
我有 类 PGMain 作为 propertygrid 中的 SelectedObject: [DefaultPropertyAttribute("Basic")] [Seriali
我有一个包含两个属性网格的表单。第一个网格的 SelectedObject 属性设置为包含 item 对象。而第二个设置为item.Test; public MainForm() { Init
我有一个 PropertyGrid。当我输入格式错误的值(即 - 将字符串转换为整数项)时,我收到一条错误消息。如果我单击“确定”,则错误值会一直存在,直到我更改它为止。如果我点击“取消”,原始值又回
在 C# (.Net 2.0) 的一个项目中,我使用了一个 propertygrid。此属性网格显示通过 SOAP 从 PHP 后端检索的对象。某些对象包含字符串属性,其中空字符串的含义与 NULL
我是一名优秀的程序员,十分优秀!