问题标签 [componentmodel]

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 投票
4 回答
14966 浏览

.net - 以编程方式隐藏 PropertyGrid 中的字段

使用

关于由数字属性组成的类(它是另一个类的属性)的声明。

我简单地加载这个类的一个实例......

显然我不想在代码中手动构建 propertygrid,我知道该怎么做。

但这就是问题所在。根据属性的值,某些其他属性不应该是可见的,就好像我使用了

属性声明上的属性。

无论如何以编程方式执行此操作,而无需手动处理属性网格的所有构建>

0 投票
3 回答
78 浏览

c# - EditorReuseAttribute 的真正用途是什么?

我找不到使用此属性的方法的任何想法?

0 投票
1 回答
847 浏览

.net - 如何使用 System.ComponentModel 中的服务定位器实现在 WinForms 应用程序中进行依赖注入?

我试图让我的业务逻辑组件在添加到我的表单/控件类之一时查询服务。例如,我的ClientManager库中可能有一个类,它封装了一些业务逻辑。它需要一个ILoginManager实例来查询它需要操作的一些数据。

具体ILoginManager实例在 WinForms 应用程序中创建,例如作为单例。我希望能够将ClientManager组件拖放到表单上,这将使该ILoginManager实例自动对组件可用。

根据我从这篇关于轻量级容器的文章中了解到的,我可以通过使用 GetService 来实现这一点:

然后,我将拥有一个覆盖 GetService 以返回我的实例的容器:

作为一个独立的解决方案,它工作得很好,但我不知道如何将它集成到一个可设计的控件中,因为设计器总是生成一个默认System.ComponentModel.Container容器,我不知道有什么方法可以将服务注入其中。

MSDN 文档在描述如何实际使用这些概念方面含糊其辞。是否有任何直接的方法可以使用设计人员友好的 ComponentModel 类来做到这一点?

0 投票
4 回答
14714 浏览

c# - C# 在设计器中显示可浏览的子属性

我正在使用带有标准 WinForms 的 .NET C#,而不是 WPF。

我有这种情况。我正在为月历创建一个用户控件,类似于 .NET,但具有更多功能。我有一个用户控件表单,其中填充了代表日期的按钮对象。按钮可以根据状态(选中、鼠标悬停、周末...)用不同的颜色着色

我希望它工作的方式是扩展按钮类以接受状态,这些状态决定颜色,而不是从父(用户控件)类为它们着色。目前有 10 种颜色,我真的不想用着色条件来搞乱用户控制代码。

此外,我想在设计时选择所有颜色,使用可浏览的设计器属性。问题是设计器只显示用户控件类中定义的属性,而不是其子项(按钮)。

这个问题有什么解决方法吗?所以简而言之,我想使用内部按钮属性更改颜色,并能够在设计时使用设计器属性选择它们,而不是手动硬编码它们。

0 投票
2 回答
392 浏览

c# - 序列化 ComponentModel.Container?

是否可以序列化(二进制)System.ComponentModel.Container?

0 投票
2 回答
3872 浏览

.net - .NET 组件模型说明

首先,我不得不说,我要谈谈System.ComponentModel.Component.

你知道,我理解,.NET Component Model提供了定义分离的能力(通过站点服务)Components,因此它们可以以松散耦合的方式相互通信,并且每个Component都可以轻松替换。

但我的观点是,我可以通过其他方式实现这一点:我的意思是,如果我以正确的Object Oriented Programming方式设计软件,我可以通过Abstract classesInterfaces方式实现所有提到的功能/互操作性。

那么为什么以及何时应该依赖组件模型?

0 投票
2 回答
8664 浏览

c# - IEditableObject 和 IRevertibleChangeTracking 有什么区别?

IEditableObjectIRevertibleChangeTracking(都来自 System.ComponentModel 命名空间)有什么区别?看起来第一个支持显式事务,而第二个更隐式 - 但最终结果是相同的。我应该如何在代码中实现这一点?目前我在 BeginEdit 中什么都不做分别在EndEditCancelEdit中调用RejectChangesAcceptChanges。我的问题是这也将接受在 BeginEdit 之前所做的更改。

这真的是微软想要的还是我试图实现两个互斥的接口?

0 投票
2 回答
304 浏览

c# - 隐藏自定义控件的元素和类别

我有一个问题。是否可以隐藏基本控件的某些元素和类别(对于自定义控件)。我只想显示我定义的属性。谢谢你的时间。

0 投票
2 回答
8071 浏览

asp.net-mvc - 从类中删除必需的属性,但 MVC3 仍然不会在文本框中没有值的情况下发布表单

我有一堂课。有一次,我使用 System.ComponentModel.. 将类的属性设置为 [Required]....

好的,然后我意识到这不是必需的。我已经删除了所需的属性,但是当我尝试将表单提交到 ActionResult 时,表单不会发布,并且仍在尝试强制填充 TextBoxFor(theModelProperty)。

我已经删除了“obj”文件夹、“bin”文件夹,还“清理”了解决方案。仍然没有解决方案。

我不想做一个愚蠢的解决方法,我想正确地做事。知道为什么会这样吗?

0 投票
3 回答
2433 浏览

asp.net-mvc-3 - 如何以编程方式打开/关闭数据注释验证属性

所以,我使用的是 ASP.NET MVC 3 和 Entity Framework 4.1(代码优先)。

我有这样的课:

范围验证正确触发。但是,例如,在某些情况下,我想更改 Age 属性的范围。或者甚至将其关闭。我怎么能在不改变我的模型类的情况下做到这一点?这有可能以编程方式进行吗?