wpf 控件内 动态添加 控件

wpf 控件内 动态添加 控件,第1张

        //新建Window,把其默认的Grid元素删除,然后

        //在Window_Loaded事件里粘贴如下代码

        private void Window_Loaded(object sender, RoutedEventArgs e)

        {

            Grid g = new Grid()

            g.HorizontalAlignment = HorizontalAlignment.Stretch

            g.VerticalAlignment = VerticalAlignment.Stretch

            g.Background = Brushes.Blue

            ScrollViewer s = new ScrollViewer()

            s.Width = 100

            s.Height = 100

            Label l = new Label()

            l.Content = @"wpf 控件内 动态添加 控件

            Oo巴黎迷雾_ | 分类:C#/.NET | 浏览17次

            请示范一个简单的完整例子,不是在form里, 而是在wpf  grid里的scrollviewer控件添加label控件。"

            s.Content = l

            this.AddChild(s)

        }

wpf的窗口没点击之前就创建控件步骤如下。

1、新建WPF应用并添加WPF自定义控件,添加后会有Themes文件夹和customControl的cs文件。

2、按照cs文件中的步骤使用自定义控件。

3、修改自定义控件中的内容,例如增加一个textbox和button。

这有两种做法:自己做个UserControl。你在一个UserControl里放两个Grid,分别放收缩和伸展两个状态的面板。每次点击UserControl的时候,你可以对它的Tag赋值。比如收缩时候是0,伸展时候是1。根据tag值设置UserControl的宽度(因为两个状态下UserControl宽度不同)可以直接用Expander控件,使用blend编辑其控件模板,修改其IsExpanded下的trigger和ExpandDirection=Right的trigger。楼主可以根据自己理解挑选自己喜欢的方式做,如遇到不明白的地方,欢迎追加提问。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11574188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存