- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个扩展器(IExtenderProvider),它扩展了某些类型的
具有附加属性的控件。对于这些属性之一,我有
写了一个 UITypeEditor。到目前为止,一切正常。
扩展器本身也有几个属性,我正在尝试
用作 UITypeEditor 的一种默认设置。我想做的是成为
能够在扩展器本身(不是扩展控件)上设置属性,
当我打开 UITypeEditor 的附加属性之一时
一个扩展控件,我想将 UITypeEditor 中的值设置为该值
扩展器上的属性。
一个简单的例子:ExtenderProvider 有一个属性 DefaultExtendedValue。在表单上,我将此属性的值设置为“我的值”。通过提供程序,扩展控件具有一个带有 UITypeEditor 的属性 ExtendedValue。当我打开属性 ExtendedValue 的编辑器时,默认(初始)值应设置为“我的值”。
在我看来,最好的地方是这样做
UITypeEditor.EditValue,就在调用之前
IWindowsFormsEditorService.DropDownControl 或 .ShowDialog。
唯一的问题是我不能(或者我还没有发现如何)捕获
扩展程序提供程序本身在 EditValue 中,读取相关属性的值并将其设置在 UITypeEditor 中。上下文给了我扩展
控制,但在这种情况下这对我没有用。
有什么方法可以实现我正在尝试的目标吗?任何帮助表示赞赏!
谢谢
汤姆
@samjudson:这不是一个坏主意,但不幸的是它并没有让我到达那里。我真的很希望能够为扩展程序提供程序的每个实例单独设置这个默认值。 (对于不同的扩展控件组,我可能在一个表单上有多个不同的值。)
最佳答案
你能自己读取属性吗?
DefaultValueAttribute att = context.
PropertyDescriptor.Attributes.
OfType<DefaultValueAttribute>().
FirstOrDefault();
object myDefault = null;
if ( att != null )
myDefault = att.Value;
关于.net - UITypeEditor 和 IExtenderProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26795/
我遇到了一个问题,我不知道这是否确实可行(如果有一种“hacky”方式,我全力以赴,但我还没有找到)。 我有一个 IExtenderProvider 组件,我用它来拥有自己的 UITypeEditor
好吧,我已经为此奋斗了几天,我已经束手无策了……我正在尝试通过扩展控件来添加一个在运行时在 PropertyGrid 中可见的可浏览属性。无论我做什么,iExtenderProvider 似乎都没有实
我有一个扩展器(IExtenderProvider),它扩展了某些类型的 具有附加属性的控件。对于这些属性之一,我有 写了一个 UITypeEditor。到目前为止,一切正常。 扩展器本身也有几个属性
我正在尝试使用 IExtenderProvider 扩展 TextBox、ComboBox 和 Panel 控件,但我无法获取它才能正常工作。我开始相信我还没有完全理解这个概念。 有人知道网络上关于如
我是一名优秀的程序员,十分优秀!