问题标签 [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.
.net - 使用实体框架进行模型验证
我有一个实体框架模型类,它具有创建该模型类实例的视图。我想验证该类的日期,以便用户添加满足特定条件的日期。我有一个元数据类,它使用System.ComponentModel
和System.ComponentModel.DataAnnotations
命名空间中的属性。
那里有任何属性可以用来执行验证,还是有其他方法可以做到这一点?
c# - C# 使用和编译 Windows.Form
我正在用 C# 编写一个 GUI。我正在按照这个简单的教程开始。要编译,我需要引用 System.Windows.Forms.DLL System.Drawing.DLL,所以我输入
但是,我收到这样的错误:
我已经在我的路径中添加了“c:\Windows\Microsoft.NET\Framework\v4.0.30319”。我不知道为什么它告诉我在我已经拥有它时要引用它。
c# - 如何正确使用 Properties.Settings?
我正在使用 Visual Studio 2010,其中有一个名为 Utilities 的项目,其中包含我settings.settings
想从解决方案中的其他项目访问的文件。
在另一个项目中,我想让用户使用PropertyGrid
. 我还想使用System.ComponentModel
设置对其进行自定义。我试图应用ComponentModel
设置,例如DescriptionAttribute
在Settings.Designer.cs
有效的文件中,但正如文件注释中所说,重新生成时对该文件的更改。
所以我的问题如下:
- 如何
Properties.Settings
从另一个项目访问? - 如何在
PropertyGrid
不更改Settings.Designer.cs
文件的情况下自定义? - 如前所述,我让用户从表单管理设置。但是,我想在用户按下取消按钮时恢复这些值。我怎么做?
c# - 重写 Visual Studio 对组件派生类的处理
有什么方法可以告诉 Visual Studio 我想将我的类视为普通类而不是组件?我的班级是这样声明的:
我想,因为WebClient
派生自System.ComponentModel.Component
,所以 Visual Studio 假定它是一个组件。因此,双击解决方案资源管理器中的文件会显示设计器界面而不是代码。此外,如果我在上面的声明之前添加另一个类,在解决方案资源管理器中双击文件会给我一个“可以设计类 WebDavClient,但不是文件中的第一个类”错误。
在所有情况下,我只想将这个类视为普通类,并且永远不需要设计器表面。有没有办法覆盖 Visual Studio 的默认行为?
c# - IListSource 类型的 AttributeProvider 做什么?
我有一个包含此属性的用户控件:
此属性如何影响属性?(除了设计器中漂亮的组合框)。
是否强制属性仅接收实现 IListSource 或 IEnumerable 的值?
你能从 BCL 中找到解释属性效果的代码片段吗?
来源:
AttributeProviderAttribute 类
IListSource 接口
如何:在 Windows 窗体控件中应用属性
c# - 如何在运行时将属性级属性添加到 TypeDescriptor?
我想向对象的属性添加一些以 PropertyGrid 为中心的自定义属性,以提供更丰富的编辑、隐藏一些值并将它们分组到类别中,因为我正在使用的那个类不提供这样的功能,我什么也做不了关于它。
确实,它是用于生成代码的 MS 的应用程序设置,因此您不能以任何方式扩展它的属性。请参阅我的另一个问题:运行时 AppSettings.settings 编辑器对话框
.net - 覆盖父属性的 DefaultValue
我继承了一个控件,目的是覆盖某些属性的DefaultValue属性的值。但是,要做到这一点,我需要添加一些样板来为父类的属性创建“代理”,如下所示:
我的问题是,有没有更好的方法来覆盖 DefaultValue 属性的值而不使用它?只要它在 Visual Studio 表单设计器中可用/可见。
c# - 设计时表示
我有兴趣尝试让一个项目在设计时表现出来,但不确定我是否能实现我想要实现的目标。我已经构建了一个新的 webpart,一个图表。这个 webpart 有一个ChartSettings,它有许多可通过 EditorPart 配置的属性,并且在设置中有许多SeriesSettings。
Chart 将 ChartSettings 标记为 Personalizable,因此它是序列化的。这在网络上运行良好,设置被保留并且可以正确修改和恢复。但是,如果在其他工具(例如 SharePoint 设计器)中打开页面,则会由于转换而开始出现错误。输出 html 看起来很模糊,如下所示:
MyNamespace.ChartSettings 无法转换为 ChartSettings 的实例。这可以通过属性上的 TypeConverters 来解决,并在我可以生成的转换器中使用诸如序列化之类的东西:
然而,我真正想在 SharePoint 设计器等工具中的 html 中实现的是:
有谁知道这是否可能,如果可以,如何实现这一点我遇到了以下问题,但不确定使用哪个,以及以什么组合来实现我想要的和我想要的建议。
- [TypeConverter(typeof(ExpandableObjectConverter))]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
- [内容属性]
编辑
我几乎设法到达那里:
这给了我:
而不是
c# - 使用 System.ComponentModel
我在理解 C# 中容器/组件模型如何相互交互时遇到了一些困难。我知道组件如何包含一个站点对象,该对象具有有关容器和组件的信息。但是,假设我有以下代码:
这没有问题,它定义了一个容器(实体)和一个包含在其中的组件(位置)。
但是,如果我调用p.Site.Container
,它将返回 Entity,但作为 IContainer。也就是说,(Console.WriteLine(p.Site.Container as Entity).Foo);
如果我想访问 Foo,我必须明确地做一些事情。这似乎相当麻烦。
我错过了什么,还是有更好的方法来做我想做的事?