问题标签 [custom-controls]

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 投票
2 回答
2135 浏览

vb.net - 自定义水印文本框行为异常

解决方案:

感谢下面的Patrick,我已将 C# CodeProject 版本重构为适合我的 VB.NET 版本。希望它也可以帮助你们:


我正在构建一个信息亭应用程序,为了保持美观,我决定实现一个带水印的文本框作为输入字段。我在CodeProject上找到了这个项目,将其转换为 VB.NET 并将其放入我的应用程序中。它可以工作,因为它可以很好地添加水印并清除它们,但是当我输入文本时会发生这种情况:

空的:

替代文字

填充:

替代文字

所以基本上它不是清除整个水印,只是为文本框的默认高度分配的空间。这是转换后的代码:

我试图强制班级在 OnPaint 事件中使用我设置的字体大小,但没有运气。还有什么我遗漏的东西让这变得比它应该的更困难吗?

谢谢!

0 投票
2 回答
9083 浏览

wpf - WPF - 用户控件默认内容属性

我正在创建一个 UserControl,我只是不记得你用来装饰你想作为默认内容属性的属性的属性的名称。

举一个具体的例子,假设我有一个名为“Title”的属性,我可以使用这样的属性语法来设置它 -

但是控件的使用者可能希望使用这样的元素语法 -

我知道有一个属性需要添加到 Title 属性以启用此支持,但我忘记了它是什么并且在任何地方都找不到它。

谁能帮我刷新我的记忆?另外,我正在寻找一个类似的属性来作用于从 ItemsControl 继承的 CustomControls。

0 投票
3 回答
5679 浏览

asp.net - 带有自定义子元素的 ASP.NET 中的自定义元素

我知道可以使用用户控件在 ASP.NET 中定义自定义标签。但据我所知,您只能为这些控件添加属性。我希望能够嵌入更复杂的数据,这有点简单:

这在 ASP.NET 中可能吗?我应该尝试扩展 ListView 吗?还是有更好更正确的解决方案?

0 投票
1 回答
554 浏览

wpf - WPF 样式活动项

我正在尝试在 WPF 中创建可重用的导航样式自定义控件,例如网站上的导航栏。它将包含指向我的应用程序中所有主要页面的链接。这个控件可以放在我的 NavigationWindow 中的所有页面之上。在页面之间提供一致的外观和感觉,例如网站。

我的问题是当前页面链接的样式与其他页面的链接不同,这样您就可以快速浏览它并查看您所在的页面。由于每个页面上的控件都是相同的,我需要告诉它哪个页面是“活动的”,并让它适当地设置该链接的样式。

我的第一个想法是简单地将 Is<Page>Active 属性放在控件上,每个页面一个,然后在页面上将相应的属性设置为 true。(或者我可以使用一个接受 Enum 值的属性,而不是拥有许多属性,无论哪种方式)

例子:

现在在我的 Header Custom Control 的控件模板中,我可以创建一个监视此属性的 DataTrigger:

在所有这些背景之后,这是我的问题。 这可行,但我将不得不为我拥有的每个页面复制该 DataTrigger 以及其中的所有 Setter,因为触发器必须直接引用仅适用于一个链接的“IsHomePageActive”属性。所以我需要为每个链接使用不同的样式,即使它描述的实际样式完全相同(我的意思是,设置器是相同的)。唯一的区别是触发器正在监视什么属性。

有没有办法做到这一点(或具有相同最终结果的东西),而不会以数百行重复的 XAML 结束?

0 投票
1 回答
760 浏览

wpf - 自定义/用户控制

我有这样的任务 - 创建联合两个控件(来自 WPFToolkit 和标准工具栏的 DataGrid)的控件。在大范围内,它联合了哪些特定控件并不重要,我需要找出可用于构建我需要的东西的常见做法。乍一看,我需要像用户控件这样的东西,即控件的组合,我可以将其作为一个整体实现并在之后重用。但是,我的任务要求我能够在 XAML 中调整我的复合控件。因此,如果我组合 Toolbar 和 DataGrid,我希望它们的属性和事件都将被公开。所以我可以在 XAML 中设置,例如,数据网格的列和工具栏的栏:

(我故意在标签名称中加入空格,因为本地解析器由于某种原因没有输入它们)

现在唯一不适合我的决定是让自定义控件继承自 Datarid(因为 DataGrid 在这对中更重要)并重新定义模板,包括数据网格和工具栏。这给了我数据网格的所有力量,但是,如果我想获得工具栏部分,我需要通过代码来完成,在虚拟和逻辑树中寻找它,即以编程方式访问它,这不是一个很好的决定。请帮助新手解决此任务)在此先感谢...

0 投票
1 回答
3194 浏览

asp.net - 为 ASP.net 子控件生成的 HTML 'name' 属性,而不是唯一的 'ID' 属性

为我的自定义 ASP.net 服务器控件生成的 HTML 代码为子控件生成 name 属性,而不是 id 属性。像这样的东西:

自定义控件本身的 ID 显然是正确的。

对我来说更奇怪的是,有时确实会生成 ID (我不知道在什么条件下)。但是FindControl()具有该 ID 的 a 在服务器端返回 null。FindControl()使用 name 属性的值就可以了。

像这样的东西:

对于上述情况,FindControl("GridView2$ctl02$editdis$ctl00")工作正常,FindControl("GridView2_ctl02_editdis_ctl00")没有。

如何确保一致且可预测的 ID?

0 投票
2 回答
9635 浏览

c# - 显示自定义控件的自定义图标?

在 Visual Studio 中,当您创建自定义控件时,您会得到这个默认工具箱图标丑陋的紫色小齿轮作为控件的图标,而不是自定义控件默认工具箱图标

那么如何更改控件的图标呢?

0 投票
1 回答
1627 浏览

.net - 在自定义控件中分组属性

在我们的 IDE(例如 Visual Studio)中,如果我们显示 System.Windows.Forms.Button 控件的属性,我们会看到一些属性公开了另一组属性。例如:平面外观、字体、位置、边距等。

我想在自定义控件中做类似的事情。

我知道后面的代码是错误的,但这是我正在尝试做的一个例子:

在我的 IDE 中,在我的自定义控件的属性窗口中,我想查看我的属性State,并可以显示它以设置属性VisibilityEventManagement

非常感谢

0 投票
3 回答
164 浏览

.net - 我的自定义“Horizo​​ntalRule”控件做错了什么?

我编写了以下(非常简单的)控件以在应用程序中使用(为简洁起见,删除了注释):

免责声明:我是绘制自己的控件的新手。

我选择根据Vista UX 指南中的建议以这种方式画线,该指南建议使用高度为 1 的蚀刻矩形作为分隔符。

当静态时,这看起来不错,但我注意到如果我将此控件放在窗口中并调整它的大小(例如通过锚点),我会得到重绘工件。我在整个客户矩形的宽度上重新绘制了我的边框,但这就像它实际上并没有被绘制一样。在 Horizo​​ntalRule 的构造函数中或以嵌入的形式启用 DoubleBuffered 似乎也没有什么区别。

我究竟做错了什么?

更新:

根据建议,我尝试最后调用 base.OnPaint 而不是第一个。我不知道那会改变什么,而且它似乎也没有改变任何东西。

不绘制背景没有任何用处。我仍然得到伪影,但我也没有得到背景颜色,所以我看到了水平线下方的任何图像。

0 投票
1 回答
759 浏览

javascript - 为 Visual Studio 创建自定义 DTD

我有一些自定义模板控件,它们将 JavaScript 作为模板内容,如下所示:

我希望 VisualStudio 将其内容视为与元素完全相同,以便代码着色生效,并且验证器不会在 for 循环定义中的“<”上呕吐。

我的理解是需要创建一个自定义 DTD 来解决这个问题。有谁知道如何做到这一点,有资源链接吗?