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

c# - c#:在自定义控件中旋转文本

我正在尝试在标签中旋转一些文本。我有一个自定义标签,它允许我控制文本呈现过程。

我遇到的问题是旋转似乎发生在控件的原点周围,即坐标(0,0)。有没有一种方法可以让文本围绕控件的中心而不是 oragin 旋转?

我知道函数“g.RotateTransform()”,因此一种可能的解决方案是旋转文本,然后将其翻译到控件的中心。如果这是管理工作的唯一方法,是否有一种通用的方式可以计算转换以确保文本位于控件的中心?

谢谢

0 投票
1 回答
310 浏览

silverlight - 引用 Silverlight 中控件的默认样式

如何引用 generic.xaml 中出现的默认样式?

我正在尝试创建一个返回自定义控件的已知样式的静态类。我知道如何提取 App.xaml 中存在的样式,但我不确定如何获取通用样式。

谢谢!

0 投票
3 回答
7297 浏览

wpf - 当其他窗口处于焦点时隐藏弹出控件

我有一个自定义 UserControl,它试图为文本框重新创建自动完成功能。当用户键入时,文本用于过滤提供的项目集合,然后弹出窗口显示一个列表框,其中包含与用户键入的内容相匹配的项目。

不幸的是,如果用户决定从应用程序切换到另一个窗口(浏览器、MSWord 等等!),弹出窗口仍然位于所有其他窗口的顶部!

此外,如果我在弹出窗口打开的情况下移动窗口(托管自定义控件),弹出窗口将保持原位(并且不跟随窗口)!这有点有趣,但显然是不可接受的行为。我环顾四周,但只发现一篇关于此的帖子两年没有得到答复:(

0 投票
4 回答
2674 浏览

vb.net - 创建自定义控件...无法创建“文本”属性?

解决方案

我做了一些谷歌搜索并找到了这个论坛帖子,这就是我需要做的:


我应该说我对创建自定义控件真的很陌生,所以我不知道整个过程的所有细节。

我正在创建一个自定义控件,其功能类似于复选框,但使用两个图像作为选中/未选中。我正在尝试添加一个 Text 属性,但它给了我这个警告:

“属性‘文本’在基类‘UserControl’中隐藏了一个可重写的方法。要重写基方法,该方法必须声明为‘Overrides’。”

好的,所以这没问题。我将声明更改为Overrides Property Text() As String,但是当我去测试它时,“文本”未在属性下列出。我需要采取其他步骤来获得结果吗?

更多细节

我的控件由 2 个(或 3 个,取决于您如何看待它)组成:

  1. PictureBox - 显示选中/未选中的图像
  2. 标签 - 控件上显示的文本
  3. PictureCheckBox - 这是实际控件的名称

PictureBox 停靠在 PictureCheckBox 的左侧,Label 停靠在右侧:

替代文字

0 投票
8 回答
8258 浏览

c# - UserControl 作为界面,但在设计器中可见

所以我们有一个 C# WinForms 项目,其中的 Form 包含一个 bazillion UserControls。除了自己的特定成员外,每个都UserControl自然地公开所有方法、属性等。UserControl

我一直在想降低处理这些UserControls 复杂性的一种方法是通过接口访问它们。因此,与其拖放以将其UserControl放在表单上,​​不如在构造函数中使用类似这样的内容:

SomeCustomerNameUserControl实现ICustomerName,自然,并ICustomerName包含我真正关心的特定属性(比如,FirstNameLastName)。通过这种方式,我可以UserControl通过cName成员引用,而不是被所有UserControl成员击倒,我只得到ICustomerName.

一切都很好,但问题是如果我这样做,我SomeCustomerNameUserControl在设计器中看不到。有谁知道我可以做到这一点,但仍然可以UserControl在表单的设计表面上看到?

编辑:一种不太复杂的方法是将控件放在基本表单上。默认情况下(在 C# 中),控制成员是私有的。然后我为每个通过接口公开它的控件创建一个属性。

但是,即使它更复杂,我也会对其他方式感兴趣。似乎有一些方法可以使用 IDesignerHost,但我找不到任何适用的示例。

0 投票
2 回答
2206 浏览

asp.net - 在设计视图中根据需要标记控件属性

我想强制控件的使用者在将控件放在页面上时给属性一个值。

在 VisualStudio 中,当您在用户控件上创建没有属性 SRC 或 ALT 的 < img > 标记时,它会带有下划线,表示 SRC 和 ALT 是必需的属性。我认为这只是编辑器对标签的特殊处理,但是有没有办法为控件定义类似的行为?

如果控件具有这样定义的属性:

有没有办法使用自定义属性或其他会在设计器中标记的东西?

0 投票
1 回答
596 浏览

.net - 将列功能添加到自定义中继器

我正在尝试扩展我拥有的自定义中继器,以便以表格方式显示(与 Gridview 相当相似)。我在概念上希望实现的是获得可以通过以下方式应用的东西:

任何人都可以提出一种可以实现的方法吗?我可以以某种方式为实现 ITemplate 的类创建一个集合吗?

谢谢,史蒂夫

!编辑!

我通过在转发器中创建一个具有 ITemplate 属性和 generic.list(of Col) 属性的新类 (Col) 来实现它。因此,要添加项目,我执行以下操作:

让我知道是否有人有更好的解决方案

0 投票
2 回答
7913 浏览

wpf - 一次更新 UserControl 中的所有绑定

当 UserControl 的可见性更改为 Visible 时,我需要更新其上的所有绑定。几乎我所有的绑定都绑定到用​​户控件的 DataContext 属性,所以我正在尝试更新该绑定的目标:

但是我得到null了方法的结果,GetBindingExpression(..)我想知道我是否用错了。

此外,是否有任何其他好方法来刷新控件上的所有绑定(使用 DataContext 作为源)。

0 投票
1 回答
280 浏览

wpf - 自定义控件的集合属性的 DataBinding 失败

我有一个用户控件 - 说“ControlBase”。它具有“SomeItems”属性,这是一个ObservableCollection<InheritedFromDO>InheritedFromDO“DependencyObject”继承的类。
当我为子类创建标记时,ControlBase我想启动“SomeItems”集合。但不知何故,我无法在该标记中使用绑定,尽管控件具有非常正常的 DataContext 并且绑定在正常情况下有效。

它看起来像这样:

输出说:

System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=Id; DataItem=null; target element is 'SomeItem' (HashCode=26965808); target property is 'DepPropertyOne' (type 'Object')

任何想法如何使它工作?

0 投票
1 回答
1687 浏览

wpf - WPF自定义绘制多个进度条

在处理一组项目时,我想显示一个组状态的统一图像,所以我基本上在同一个单元格中制作了一个由多个具有透明背景和各种彩色前景的进度条组成的网格。

示例图像

我遇到了一些透明度伪影(紫色条实际上是绿色下面的紫色,有时它会在顶部绘制等),这似乎有点浪费。所以,我决定自己做,但现在我对如何做有点不知所措。我是在 FrameworkElement 的 OnRender 中使用 DrawingContext,还是有更简单的方法?在进行自己的控制时,是否有一套通用规则?

我考虑改用饼图,因为这些很容易获得,但现在是我做一些非现成的事情的时候了。

谢谢!