Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在窗口应用程序中动态添加用户控件中的内容?_C#_Wpf_Xaml_Windows Phone 8_Window - Fatal编程技术网

C# 如何在窗口应用程序中动态添加用户控件中的内容?

C# 如何在窗口应用程序中动态添加用户控件中的内容?,c#,wpf,xaml,windows-phone-8,window,C#,Wpf,Xaml,Windows Phone 8,Window,这个程序我会尝试很多次,但它不能正常执行,所以请给我适当的建议。。 如何解决这个问题。。 以及如何在usercontrol中动态添加内容。。 这里的contentcontrol是usercontrol,以及如何动态地使用它以及如何动态地提供内容 Button b = new Button(); b.Content = "click here"; b.Height = 200; b.Width = 200; Desig

这个程序我会尝试很多次,但它不能正常执行,所以请给我适当的建议。。 如何解决这个问题。。 以及如何在usercontrol中动态添加内容。。 这里的contentcontrol是usercontrol,以及如何动态地使用它以及如何动态地提供内容

        Button b = new Button();
        b.Content = "click here";
        b.Height = 200;
        b.Width = 200;
        DesignerCanvas.Children.Add(b);
        DesignerCanvas.UpdateLayout();
        Selector.SetIsSelected(b as Control,true);
        ContentControl cc = new ContentControl();
        cc.children.add(b);

内容控件表示具有单个子元素的容器控件

        Button b = new Button();
        b.Content = "click here";
        b.Height = 200;
        b.Width = 200;
        DesignerCanvas.Children.Add(b);
        DesignerCanvas.UpdateLayout();
        Selector.SetIsSelected(b as Control,true);
        ContentControl cc = new ContentControl();
        cc.children.add(b);
阅读

        Button b = new Button();
        b.Content = "click here";
        b.Height = 200;
        b.Width = 200;
        DesignerCanvas.Children.Add(b);
        DesignerCanvas.UpdateLayout();
        Selector.SetIsSelected(b as Control,true);
        ContentControl cc = new ContentControl();
        cc.children.add(b);
通常,UserControl提供用于定义新控件的基类

        Button b = new Button();
        b.Content = "click here";
        b.Height = 200;
        b.Width = 200;
        DesignerCanvas.Children.Add(b);
        DesignerCanvas.UpdateLayout();
        Selector.SetIsSelected(b as Control,true);
        ContentControl cc = new ContentControl();
        cc.children.add(b);
如果您在XAML中定义了ContentControl,并且希望添加一些控件,比如Button

        Button b = new Button();
        b.Content = "click here";
        b.Height = 200;
        b.Width = 200;
        DesignerCanvas.Children.Add(b);
        DesignerCanvas.UpdateLayout();
        Selector.SetIsSelected(b as Control,true);
        ContentControl cc = new ContentControl();
        cc.children.add(b);
XAML:

        Button b = new Button();
        b.Content = "click here";
        b.Height = 200;
        b.Width = 200;
        DesignerCanvas.Children.Add(b);
        DesignerCanvas.UpdateLayout();
        Selector.SetIsSelected(b as Control,true);
        ContentControl cc = new ContentControl();
        cc.children.add(b);
<ContentControl x:Name="container">
</ContentControl>
Button btn = new Button { Content = "test" };
container.Content = btn;

根本不清楚你想做什么。请您澄清一下,您希望提供的代码能够完成什么?顺便说一句,您通常不希望在XAML中以这种方式操作UI。请学习数据模板以及如何使用它们。这意味着要通过ItemsControl完成(如果需要多个按钮),否则DataTemplate本身将对其进行排序。这听起来不错,但我不确定,因为问题太复杂了!。不管怎样,你能补充一点解释(也许解释一下内容控件的正确使用)?@LordTakkera ModifiedHanks+1对于什么(我认为:))是正确的答案虽然我不会对此投反对票,但我必须说,我们不应该鼓励这种从代码后面添加视图项的编码方式。这将为该用户树立一个坏榜样,他将无法学习正确的方法。@Maverik如果它是一个动态控件怎么办?