WPF 如何向用户控件中添加新的控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 如何向用户控件中添加新的控件相关的知识,希望对你有一定的参考价值。

我可以用Canvas.Children.Add(XXX)向Canvas中添加控件;但现在是,有个自定义的用户控件,我想向这个控件中的Canvas添加控件,该如何操作呢?

自定义控件是继承ContentControl的,也就是说跟Windows一样,只能有一个Child,但是你可以设置这个Child是一个容器控件,比如StackPanel或者Grid等任何可以放多个Child的控件,往这个控件的Children里面添加子元素即可追问

我可能说错了,我集成的是UserControl,然后里面有个Canvas,请问如何才能往这个控件中的Canvas中添加控件呢?

追答

你把Canvas暴露出来,或者在你的UserControl里面写个方法,比如AddControl(UIElement elem) myCanvas.Children.Add(elem);

参考技术A 自定义控件,也可以改成继承一个容器,比如:Grid,xaml中也要把ContentControl改成Grid

wpf 如何动态向tabitem添加控件

wpf 中有个控件 TabControl,可以向此控件添加项 tabitem,当然添加tabItem项的目的是产生多页工作表的界面,但问题来了,如何向tabitem中添加控件,试了很久都没成功,只好向高手求教了。静态的很简单不用说了,我们需要编程方式动态建立。

参考技术A 5年了,都没人来回答, 技术搜索方面百毒果然不行
先加入Panel, 然后依次加入你要的控件。
StackPanel panel = new StackPanel();
Button button=new Button()Content="button1";
TextBlock textblock= new TextBlock()Text="TextBlock1";
panel.Children.Add(button);
panel.Children.Add(textblock);
TabItem item= tabcontrol.Items[0] as TabItem;
item.Content = panel;

https://social.msdn.microsoft.com/Forums/zh-CN/f4d97e7c-2bba-49eb-9367-a96547b6707e/tabitem?forum=wpfzhchs

以上是关于WPF 如何向用户控件中添加新的控件的主要内容,如果未能解决你的问题,请参考以下文章

在 WPF MVVM 中添加多个用户控件的最佳控件?

当鼠标在 UC 区域之外时,WPF 用户控件可以检测到 MouseMovement

wpf怎么实现主窗口向用户控件传值?

WPF 在datagrid模板列中添加用户控件,在后台如何快速的检索到该控件。急!!!

wpf中动态添加的自定义控件过宽,不能完全显示,怎么办

如何从 viewmodel 访问用户控件上的命令