问题标签 [propertygrid]

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.

0 投票
1 回答
517 浏览

asp.net - 寻找代码以呈现显示对象视图的表单

我的任务是显示一个 Web 表单来表示 .NET 类中的属性。在 WinForms 中,有一个名为 PropertyGrid 的预制控件,它很像我需要的。我只是在寻找一些东西来在适当的控件旁边显示属性名称的简单布局,例如字符串的文本框或枚举属性的下拉列表。

ASP.NET 是否已经存在类似的东西,还是我会在这里推出自己的东西?

0 投票
1 回答
2310 浏览

c# - 属性网格对象在选择组合框时失败,但在组合框滚动或双击时确定

我在 C# 中有一个属性网格,加载了一个“PropertyAdapter”对象(围绕我的一个对象的基本包装,显示带有适当标签的相关属性)

我在其中一个属性(DataType,返回可能值的枚举)上有一个 TypeConverter,因为我想将属性网格可用的值限制为 Decimal 和 Integer,使用以下 2 种方法

这就像我在属性网格上想要的那样显示,当我双击属性网格中的属性字段时,它会愉快地在整数和小数之间切换。同样,我可以使用鼠标滚轮滚动属性字段组合框中的选项。

但是,如果我将属性字段用作组合框并从下拉列表中选择一个值,则会得到带有错误的标准属性网格错误框:

“System.String”类型的对象无法转换为“Pelion.PM3.Utils.Constants+DataTypes”类型。

我假设我可以使用类型转换器中的转换器覆盖来捕获这些并将它们转换为数据类型的枚举,但是当我从下拉列表中选择而不是双击或“鼠标滚轮”时,为什么属性网格会失败落下?

0 投票
1 回答
4218 浏览

.net - How to find GridItem from click on PropertyGrid?

I'm trying to do some custom UI behavior on a Windows Forms PropertyGrid control. I'd like to be able to respond to clicks and double-clicks on the GridItems to change the state. For example, to flip a binary or ternary variable through its states.

I can get at the underlying view by looking up a child of typename "PropertyGridView" and can hook its Click event. Only problem is then what do I do? I can't find any functions that map mouse coordinates onto grid items.

There is a SelectedGridItem but this isn't helpful. There are many places you can click on a control that do not update this property, and so responding to a Click assuming SelectedGridItem is updated will get a lot of incorrect results.

Aside from purchasing a commercial property grid control or switching to a gridview of some kind, is there anything I can do here? The PropertyGrid is almost exactly what I need. I'm even considering wandering through with Reflector and doing some very unfriendly things with this control to get the data out that I need. :)

More info: I do know about using custom UITypeEditor classes, and am already doing this in other areas (color picker). Unfortunately doing custom UI work requires an extra click (to browse or drop-down some UI). For example, I have embedded a checkbox using UITypeEditor.PaintValue and would really like to be able to just click on it to check/uncheck.

0 投票
4 回答
18696 浏览

c# - PropertyGrid 中的多行字符串

是否有内置编辑器用于PropertyGrid.

0 投票
1 回答
2205 浏览

.net - 运行时的集合编辑器

我正在开发一个使用属性网格编辑名称/值对的应用程序。我的类文件中的一些属性是 ListDictionary 集合。是否有可以在属性声明中应用的 Editor 属性,使 Collection Editor 在运行时工作?如果没有,是否可以从 ComponentModel.Design.CollectionEditor 继承以在运行时使用?我需要能够添加、删除和编辑集合值。非常感谢,特里

0 投票
3 回答
10748 浏览

c# - 如何在自定义控件的属性网格中获取 OpenFileDialog?

我正在创建一个 .net 自定义控件,它应该能够加载多个文本文件。我有一个名为 ListFiles 的公共属性,其中设置了这些属性:

根据对象的类型(字符串,字符串 [],列表,...),属性网格将允许用户输入一些数据。我的目标是在我的组件的属性网格中有一个过滤的 openfiledialog这将使用户能够选择多个文件并将其作为数组或字符串(或其他东西......)返回。

Sooo ...这是我的问题:如何在自定义控件的属性网格中获取 OpenFileDialog?

非常感谢!

0 投票
1 回答
3028 浏览

c# - 复合对象上的属性网格

当我绑定这个对象

对于属性网格,属性网格的 value 部分显示的是 AgeWrapper 的类名,但 AgeWrapper.Age 的值。

有没有办法让它在属性网格中显示复合对象的值(在这种情况下,它是 AgeWrapper.Age),而不是该复合对象的类名?

0 投票
4 回答
2589 浏览

c# - 如何防止在 PropertyGrid 中刷新时滚动?

我在工具应用程序中使用 PropertyGrid 来显示一个窗口来监视远程应用程序中的对象。每隔一秒左右,我就会从应用程序中获取任何已更改成员状态的更新,然后我会更新网格。我调用 Refresh() 进行更改。除了一件事,这一切都很好。

假设对象太高而无法放入网格中,因此有一个滚动条。用户选择了一个网格项目,但也向上滚动到它上方,以便所选项目位于控件底部的下方。

问题是在 Refresh() 控件会自动将网格项目滚动到视图中(奇怪的是,当项目高于控件顶部时它不会这样做)。

我正在寻找一种方法来防止这种情况或保存状态,执行 Refresh(),然后将其设置回来。我尝试在 PropertyGrid 内的 PropertyGridView 中获取底层 VScrollBar,并弄乱“值”,但它不会永久设置。总是弹出,所以项目在视图中。

在滚动期间取消选择该项目是我的后备(自动滚动到视图不会发生没有选择的网格项目)但它有点损害可用性所以我正在寻找另一种方式。

有人遇到类似的事情吗?

0 投票
2 回答
3725 浏览

c# - 在 PropertyGrids 中是否有更好的 StringCollection 编辑器?

我在我的应用程序框架的配置编辑器中大量使用了 PropertySheets。我非常喜欢它们,因为与它们一起工作很容易(一旦你学会了)并使编辑防弹。

我在配置中存储的其中一件事是 Python 脚本。可以在 StringCollection 编辑器中编辑 Python 脚本,这是我一直在使用的,但“可能”和“可用”之间还有很长的距离。我想要一个真正支持可调整大小和等宽字体的编辑器,保留空白行,并且 - 嘿,让我们为愿望清单发疯 - 进行语法着色。

如果我真的需要,我当然可以写这个,但我不想这样做。

我在谷歌上四处寻找,找不到像我描述的那样的东西,所以我想我会在这里问。这是一个已解决的问题吗?有没有人已经尝试过构建更好的编辑器?

0 投票
4 回答
35577 浏览

c# - 如何在运行时修改 PropertyGrid(添加/删除属性和动态类型/枚举)

如何在运行时以各种方式修改属性网格?我希望能够添加和删除属性并添加“动态类型”,我的意思是这种类型会导致使用 TypeConverter 在 propertygrid 中生成运行时下拉列表。

我实际上已经能够做这两件事(添加/删除属性和添加动态类型),但不能同时单独做。

为了实现在运行时添加和删除属性的支持,我使用了这篇 codeproject 文章并稍微修改了代码以支持不同的类型(不仅仅是字符串)。

ETC...

我的完整解决方案可以在这里下载。

当我添加字符串、布尔值或枚举时它工作正常,但是当我尝试添加像 StatesList 这样的“动态类型”时它不起作用。有谁知道为什么并且可以帮助我解决它?

当您不尝试在运行时添加属性时,使用 TypeConverter 的方法可以正常工作,例如,此代码可以正常工作,但我希望两者都能做到。

请看看我的项目。谢谢!