问题标签 [system.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 投票
1 回答
6278 浏览

c# - 何时以及为什么应该实现 IComponent、IContainer 和 ISite?

我一直想知道 IComponent、IContainer 和 ISite 是干什么用的。我已经阅读了文档,但它非常模糊(或者我想得太难了)。我知道如果我创建一个类作为组件,它可以在 Visual Studio 设计器中使用。但我真的很想更广泛地了解:组件/容器模式完成了什么,它能让我的生活更轻松吗?

0 投票
6 回答
4678 浏览

c# - 数据绑定 POCO 属性

是否有任何数据绑定框架(BCL 或其他)允许在实现和的任何两个 CLR 属性之间进行绑定?似乎应该可以做这样的事情:INotifyPropertyChangedINotifyCollectionChanged

实施. someSourceObject_ someTargetObject_ INotifyPropertyChanged但是,我不知道对此有任何 BCL 支持,并且不确定是否存在允许这样做的现有框架。

更新:鉴于没有可用的现有库,我自己编写了自己的库。它可以在这里找到

谢谢

0 投票
2 回答
4784 浏览

.net - ISupportInitialize (BeginInit/EndInit) 和 SuspendLayout/ResumeLayout 的区别

有人可以解释一下使用 ISupportInitialize 接口方法(BeginInit/EndInit)和使用 SuspendLayout/ResumeLayout 之间的区别吗?

ISupportInitialize 是否仅在构造/“初始”初始化期间使用......或者当您想将新的子控件添加到现有父控件时可以使用它?

有什么特别的区别吗?

非常感谢您的帮助!

谢谢,

帕托

0 投票
1 回答
2606 浏览

.net - 您是如何在自己的代码中使用 IContainer/ISite/IComponent 的?

可能重复:
何时以及为什么应该实现 IComponent、IContainer 和 ISite?

有各种关于使用 IContainer 和 ISite 的在线文档(例如http://www.theserverside.net/tt/blogs/showblog.tss?id=pluginArchitectures),并且有一些模糊的例子,但我没有遇到过实际有用的真实实例(winforms 除外)。我真的不知道它到底可以用来做什么,这无济于事。有没有人在他们自己的代码中使用 .NET 容器接口和相应的类,独立于 winforms,你是如何使用它们的?

0 投票
1 回答
104 浏览

.net - Windows 控件在以不同方式访问时返回不同的值

我有一个控件,托管在DesignSurface上。

当它的 Location 属性被 访问control.Location时,当它被 访问时propertyDescriptor.GetValue(control),我得到不同的值。

propertyDescriptorPropertyDescriptor类型。

有人对此有解决方案吗?我已经检查过对象实例是否相同。

0 投票
1 回答
3104 浏览

c# - TypeDescriptor.CreateProperty 不添加属性

我正在尝试使用 TypeDescriptor.CreateProperty 将属性添加到类型中,以便在属性网格中显示其他属性,但是未添加此新属性,并且当我在该类型上调用 TypeDescriptor.GetProperties 以检查属性时,此属性不存在。

我可能会遗漏或忽略某些东西吗?据我所知,这是一个基本而简单的场景。

这是调用:TypeDescriptor.CreateProperty(typeof (MovieMenuItem), "ExternalMediaLocation", typeof (string), null);

0 投票
2 回答
1520 浏览

c# - C#:System.ComponentModel.Design 不包含 ArrayEditor

我正在努力使复杂的对象设计器兼容并打算使用 ArrayEditor 组件......不用说,我没有它...... MSDN 说它来自.NET 1.1,我肯定有并且然后一些。有任何想法吗?

0 投票
1 回答
207 浏览

c# - C# 中的 ComponentModel、PropertyGrids 和接口

我有一堆实现不同接口的对象,这些接口的一些属性应该通过 PropertyGrid 显示和编辑,但是如果我指定诸如 DisplayName、Browsable 或 DescriptionAttribute 之类的东西,它们将不会被实现的类“继承”界面……这是为什么?有什么解决办法吗?

0 投票
1 回答
816 浏览

.net - System.ComponentModel 命名空间使用

我认为自己是一位经验丰富的 .NET 开发人员,但我几乎从未直接使用过 System.ComponentModel 命名空间中的类型。(我已经实现了一些自定义属性并通过反射使用它们)。

Component、Container、PropertyDescriptor、TypeDescriptor、License 和 TypeConverter 等类型在哪些场景下最有用?

在谈论“设计器”(例如 Visual Studio 中可用的设计器)时,我经常看到 System.ComponentModel 被提及。

这些类型是否仅在您想使用漂亮的可视化设计器(例如自定义属性等)构建自定义控件时才有用?或者我也可以在更通用的代码中使用它们?

0 投票
2 回答
3872 浏览

.net - .NET 组件模型说明

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

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

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

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