Tag: 用户控件

揭露潜在的控制事件

我有一个自定义控件中的combobox。 我怎样才能暴露特定的事件,如SelectedIndexChanged或KeyPress等等任何人/东西实现我的自定义控件?

无法将焦点设置为UserControl的子项

我有一个UserControl ,其中包含一个TextBox 。 当我的主窗口加载我想设置焦点到这个文本框,所以我添加焦点Focusable="True" GotFocus="UC_GotFocus"到UserControl的定义和FocusManager.FocusedElement="{Binding ElementName=login}"我的主窗口定义。 在UC_GotFocus方法中,我只是简单地调用我想要关注的控件上的.Focus() ,但这不起作用。 我所需要做的是在应用程序启动时在UserControl接收焦点中有一个TextBox 。 任何帮助将不胜感激,谢谢。

公开WPF中绑定的内部控件属性

[编辑]:我想出了如何自己做这个。 我发布了我的解决scheme,希望能在几天的Googlesearch中省掉其他人。 如果你是一个WPF大师,请看看我的解决scheme,让我知道如果有一个更好/更优雅/更有效的方式来做到这一点。 特别是,我有兴趣知道我不知道什么…这个解决scheme将如何把我拧在路上? 这个问题真的归结为暴露内部控制属性。 问题:我正在创build一些代码来为WPF中的XML文件自动生成一个数据绑定的GUI。 我有一个xsd文件,可以帮助我确定节点types等。简单的键/值元素很容易。 当我parsing这个元素时: <Key>value</Key> 我可以创build一个新的“KeyValueControl”并将DataContext设置为此元素。 KeyValue被定义为一个UserControl,并且只有一些简单的绑定。 它适用于任何简单的XElement。 这个控件中的XAML如下所示: <Label Content={Binding Path=Name} /> <TextBox Text={Binding Path=Value} /> 结果是一行有一个带有元素名称的标签和一个可以编辑的值的文本框。 现在,有时我需要显示查找值而不是实际的值。 我想创build一个类似于上述KeyValueControl的“KeyValueComboBox”,但是能够指定(根据文件中的信息)ItemsSource,Display和Valuepath。 “名称”和“值”绑定将与KeyValueControl相同。 我不知道如果一个标准的用户控件可以处理这个,或者如果我需要从select器inheritance。 控件中的XAML看起来像这样: <Label Content={Binding Path=Name} /> <ComboBox SelectedValue={Binding Path=Value} ItemsSource={Binding [BOUND TO THE ItemsSource PROPERTY OF THIS CUSTOM CONTROL] DisplayMemberPath={Binding [BOUND TO THE DisplayMemberPath OF THIS CUSTOM CONTROL] SelectedValuePath={Binding [BOUND […]

我如何在用户控件中引发事件并在mainpage中捕获它?

我有一个UserControl ,我需要通知父页面UserControl中的一个button被点击。 如何在UserControl引发一个事件并在主页上捕获它? 我尝试使用static ,许多人build议我去事件!

WPF – 托pipeUserControl内的内容

我正在尝试创build一个具有两行Grid的用户控件。 第一行是标题,第二行是用户控件之外定义的内容,例如我们的示例中的Button 。 不知何故,我没有得到它的工作。 UserControl1 xaml: <Grid Background="LightBlue"> <Grid.RowDefinitions> <RowDefinition Height="50" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <TextBlock Text="Title" FontSize="30" Margin="10,0,0,0"/> </Grid> MainWindow xaml: <Grid> <local:UserControl1> <Button>Click me</Button> </local:UserControl1> </Grid> 下面的图片应该解释我的问题:

将用户控件添加到wpf窗口

我有一个我创build的用户控件,但是当我将它添加到窗口中的XAML时,intellisense没有select它,我不知道如何将它添加到窗口。 我在这里拉我的头发! 任何帮助是极大的赞赏!

用户控制 – 自定义属性

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

如何将我的新用户控件添加到工具箱或新的Winform?

我有一个现有的库(不是一个Winforms应用程序),提供一些WinForms的真正的Windows应用程序。 在这个库中,我想创build一个用户控件将一些控件分组在一起。 要做到这一点,我右键单击,添加,用户控件,并将一些控件拖到新的用户控件。 到现在为止还挺好。 用户控制甚至具有必要的用户控制图标。 但是将新的用户控件从解决scheme资源pipe理器拖到一个新的空白Winform不起作用(我得到一个通过它的一个圆的圆),并拖动到工具箱也无法正常工作(即使我得到一个+符号当我把它拖到工具箱上时)。 是否有某种XML魔术或其他东西我失踪,使这项工作? 注意:我遇到了一些Visual Studio 2008的问题,我通过遵循可以在这里find的解决方法来解决这个问题 。 我现在可以通过简单地重build项目,将我添加到现有项目中的用户控件join到工具箱中。

WPF:如何设置由UserControl显示的对话框的所有者窗口?

我有一个WPF应用程序与这三种types的东西… WindowMain UserControlZack WindowModal UserControlZack1坐在我的WindowMain … <Window x:Class="WindowMain" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:ProjectName" … Name="WindowMain"> <Grid> … <local:UserControlZack x:Name="UserControlZack1" … /> … </Grid> </Window> UserControlZack1显示一个WindowModal dailog框… 部分公共类UserControlZack … Private Sub SomeButton_Click(…) '实例化对话框并打开模态… Dim box As WindowModal = New WindowModal() box.Owner = ????? box.ShowDialog() '如果对话框被接受,用户input的过程数据… 如果(box.DialogResult.GetValueOrDefault = True)那么 _SomeVar = box.SomeVar … 万一 结束小组 末class 如何将box.Owner设置为正确的Window,我正在运行的WindowMain实例? 我不能使用box.Owner = […]

如何将Disposefunction添加到C#UserControl?

我有一个实现UserControl的类。 在.NET 2005中,Dispose方法在MyClass.Designer.cs的部分类文件中自动创build,如下所示: protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } 如果我想添加我自己的Disposefunction,我会把它放在哪里? 由于这个文件是生成的,我不想在这里添加代码,并冒着被风吹走的风险。