C# WPF:将usercontrol添加到窗口
首先,我是WPF和C的新手,所以我遇到的问题很容易解决。但我现在有点困了 让我解释一下我的问题 我有一个WPF窗口和两个usercontrols(Controls和ContentDisplayer) usercontrol控件(包含一些按钮)添加到窗口的XAML中。 这里没什么特别的 Window.XAMLC# WPF:将usercontrol添加到窗口,c#,wpf,user-controls,C#,Wpf,User Controls,首先,我是WPF和C的新手,所以我遇到的问题很容易解决。但我现在有点困了 让我解释一下我的问题 我有一个WPF窗口和两个usercontrols(Controls和ContentDisplayer) usercontrol控件(包含一些按钮)添加到窗口的XAML中。 这里没什么特别的 Window.XAML <nv:Controls/> 所以真正的问题是:如何通过按下另一个usercontrol中的按钮将usercontrol添加到窗口 谢谢 控件中的墨粉会暴露一个事件,当您要添加
<nv:Controls/>
所以真正的问题是:如何通过按下另一个usercontrol中的按钮将usercontrol添加到窗口
谢谢
控件中的墨粉会暴露一个事件,当您要添加新控件时,会触发该事件
public event EventHandler AddControl;
private void RaiseAddControl()
{
if (AddControl!= null)
{
AddControl(this, EventArgs.Empty);
}
}
现在将该事件放入您的窗口中
yourControl.AddControl += ContactChanged
在您的窗口中,听起来您需要将事件添加到控件的实例中
<local:ContentDisplayer>
...
<nv:Controls AddControl="ContactChanged"/>
...
...
...
然后,在ContactChanged事件处理程序中,您可以实例化一个新控件,并将其添加到您正在使用的任何集合中,就像上面的Button_ContactChanged事件处理程序中一样
如果需要进一步说明,请告诉我。在窗口顶部的xaml添加
xmlns:d="clr-namespace:SomeNamespace.Usercontrols"
如果已经存在这些名称空间,则可以从智能列表中选择控件的名称空间
然后,将控件类型放置在何处:
<d:yourusercontrolhere params />
你的用户控件可以添加到那里。我不知道你想做什么,你的例子 因此,您有一个如下定义的控件:
public partial class somecontrolname : UserControl
使用相应的Xaml文件
要将它添加到窗口的代码中,您需要做的就是首先在窗口中需要一个LayoutRoot,比如网格控件,然后
[mylayoutcontrol].Children.Add(新建somecontrolname())
也许我不知道你想做什么,你的示例代码对我来说没有多大意义,看起来你想加载xaml源文件谷歌对这个问题的排名很高,但没有公认的答案。试着回答这个问题。
public partial class somecontrolname : UserControl