Questions tagged «user-controls»

UserControl是一个单独的,可重复使用的输入控件,允许用户与应用程序进行交互。用户控件可以是按钮,复选框,输入文本框,鼠标,键盘等。

22
“无法修改控件集合,因为控件包含代码块”
我试图创建一个简单的用户控件,它是一个滑块。当我将AjaxToolkit SliderExtender添加到用户控件时,出现此错误(*&$#()@#错误: Server Error in '/' Application. The Controls collection cannot be modified because the control contains code blocks (i.e. `<% ... %>`). Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it …

2
用户控件库和自定义控件库有什么区别?
我只是想加快WPF的速度,并想创建一个可重用的WPF控件。 当我查看在Visual Studio中创建项目的选项时,看到“ WPF用户控件库”和“ WPF自定义控件库”。我不清楚它们之间有什么区别,而且我的Google搜索结果还没有任何合理的解释。 我想了解它们之间的区别,并且理想情况下会看到一些何时使用另一个的示例。


7
处置WPF用户控件
我已经创建了一个供第三方使用的自定义WPF用户控件。我的控件有一个私有成员,该成员是可抛弃的,并且我想确保一旦包含窗口/应用程序关闭,它的dispose方法将始终被调用。但是,UserControl不是一次性的。我尝试实现IDisposable接口并订阅Unloaded事件,但是在主机应用程序关闭时都未调用。如果有可能,我不想依靠控件的使用者记住要调用特定的Dispose方法。 public partial class MyWpfControl : UserControl { SomeDisposableObject x; // where does this code go? void Somewhere() { if (x != null) { x.Dispose(); x = null; } } } 到目前为止,我发现的唯一解决方案是订阅Dispatcher的ShutdownStarted事件。这是合理的方法吗? this.Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted;
119 c#  .net  wpf  user-controls  dispose 

12
如何解决用户控件中的闪烁
在我的应用程序中,我不断地从一个控件转移到另一个控件。我没有创建。用户控件,但在导航过程中我的控件会闪烁。更新需要1或2秒。我试图设置这个 SetStyle(ControlStyles.OptimizedDoubleBuffer, true); or SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); SetStyle(ControlStyles.DoubleBuffer, true); 但这无济于事...每个控件都有相同的背景图像,但控件不同。那么解决方案是什么.. 谢谢。

9
如何创建具有NAMED内容的WPF用户控件
我有一组带有附加命令和逻辑的控件,它们以相同的方式不断重复使用。我决定创建一个包含所有通用控件和逻辑的用户控件。 但是,我还需要控件能够容纳可以命名的内容。我尝试了以下方法: <UserControl.ContentTemplate> <DataTemplate> <Button>a reused button</Button> <ContentPresenter Content="{TemplateBinding Content}"/> <Button>a reused button</Button> </DataTemplate> </UserControl.ContentTemplate> 但是,似乎无法放置在用户控件内的任何内容。例如,如果我以以下方式使用控件: <lib:UserControl1> <Button Name="buttonName">content</Button> </lib:UserControl1> 我收到以下错误: 无法在元素“按钮”上设置名称属性值“ buttonName”。“按钮”在元素“ UserControl1”的范围内,当在另一个范围内定义该元素时,该名称已经注册了名称。 如果删除buttonName,它将进行编译,但是我需要能够命名内容。我该如何实现?
100 c#  wpf  xaml  user-controls  controls 

5
WPF用户控件如何继承WPF用户控件?
以下WPF UserControl称为DataTypeWholeNumber起作用。 现在,我要创建一个名为DataTypeDateTime和DataTypeEmail的UserControl 。 所有这些控件将共享许多依赖项属性,因此我想将它们的通用方法放入BaseDataType中,并使每个UserControl都从该基本类型继承。 但是,当我这样做时,会出现错误:部分声明可能没有不同的基类。 那么,如何使用UserControls实现继承,以便共享功能全部在基类中? using System.Windows; using System.Windows.Controls; namespace TestDependencyProperty827.DataTypes { public partial class DataTypeWholeNumber : BaseDataType { public DataTypeWholeNumber() { InitializeComponent(); DataContext = this; //defaults TheWidth = 200; } public string TheLabel { get { return (string)GetValue(TheLabelProperty); } set { SetValue(TheLabelProperty, value); } } public static …
92 c#  wpf  xaml  user-controls 

12
带嵌套控件的DesignMode
在开发控件时,是否有人找到针对DesignMode问题的有用解决方案? 问题是,如果您嵌套控件,则DesignMode仅适用于第一级。第二和较低级别的DesignMode将始终返回FALSE。 标准的技巧是查看正在运行的进程的名称,如果它是“ DevEnv.EXE”,那么它必须是studio,因此DesignMode确实为TRUE。 这样做的问题是寻找ProcessName会在注册表和其他奇怪部分中正常工作,最终结果是用户可能没有查看进程名称所需的权限。此外,这条奇怪的路线非常慢。因此,我们不得不堆积更多的骇客才能使用单例,并且如果在询问进程名称时抛出错误,则假定DesignMode为FALSE。 确定DesignMode的一种好方法是按顺序进行的。最终让Microsoft将其内部修复到框架中会更好!

3
用户控件-自定义属性
我已经在Visual Studio(WinForms C#)中开发了一个用户控件,并且有一个问题。 我需要我的用户控件的用户能够更改某些字符串值,并且我希望他们能够将用户控件添加到其窗体中,然后单击它以弹出“属性”窗格,其中我的用户控件的自定义属性将是显示。 如何为用户控件拥有自己的自定义属性?例如: 我的用户控件包含一个TextBox,我希望用户能够在设计时通过属性中名为“ Text”或“ Value”的属性来更改该TextBox的值。

29
用户控件未显示在工具箱中
我在ProjectA中创建了一些UserControl。我有ProjectB,它具有要放置控件的Windows窗体。这两个项目都在一个解决方案中。在ProjectB中有一个对ProjectA的引用,因此它可以“查看” UserControls。 但是,UserControls没有显示在工具箱中,我无法拖动到Windows窗体。 我尝试过重建。我还删除了“ bin”目录以强制全部重建。 如何使VS2008用我的UserControl填充工具箱?



4
如何将新的用户控件添加到工具箱或新的Winform中?
我有一个现有的库(不是Winforms应用程序),可以向真正的Windows应用程序提供一些Winforms。在此库中,我想创建一个用户控件以将某些控件组合在一起。为此,我右键单击“添加”,“用户控件”,然后将一些控件拖到新的“用户控件”上。 到现在为止还挺好。用户控件甚至具有必需的用户控件图标。但是,将新的用户控件从解决方案资源管理器中拖动到新的空白Winform上是行不通的(我在其中画出一条带圆圈的圆),并且将其拖动到工具箱上也行不通(即使我获得了+号)当我将其拖到工具箱上时)。 是否有某种XML魔术或其他我无法实现的功能? 注意:我在Visual Studio 2008中遇到了一些问题,可以通过遵循在此处找到的解决方法来设法解决。现在,只需重建项目,我就可以将添加到现有项目中的用户控件添加到工具箱中。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.