WPF中StackPanel中动态添加多个控件的问题

WPF中StackPanel中动态添加多个控件的问题,第1张

那是你的StackPanel的高度不够了,或者是StackPanel的父级元素高度不够!你可以不设置StackPanel的高度然后给StackPanel套一个Scrollviewer

        //新建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)

        }

首先呢,DataTemplate作为Resource的一种呢,是用key来被识别的,不用设置name的。

其次我来说一下关于你两个问题的一些看法。

问题一——你这种问法相当于如何在后台对一个控件的Content添加一个控件。一般解决的方法为

后台先创建好listbox,然后赋值 expander1.Content=listbox;

问题二:如何后台指定控件模板。你后台创建一个listbox。 那就可以像一般属性一样赋给它的控件模板呀。

listbox.ItemTemplate = Resources["lbItemTemp"] as DataTemplate


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

原文地址: https://outofmemory.cn/bake/11877634.html

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

发表评论

登录后才能评论

评论列表(0条)

保存