C#wpf根据数据库查询结果添加n个数目的自定义控件,垂直纵向排列,控件的一些属性要和数据库的结果一样 200

不知道要用到什么……我同学用的winform写的可以用control和panelWPF里没有……可以加分哈... 不知道要用到什么……我同学用的winform写的可以用control 和panel WPF里没有……可以加分哈 展开
 我来答
376710727
2016-06-13 · TA获得超过8937个赞
知道大有可为答主
回答量:2593
采纳率:100%
帮助的人:1254万
展开全部

楼上给的方法是WPF最原生的数据绑定和动态集合,也是MVVM最本质的东西,应该是WPF最常用的写法,可能你理解起来比较困难。

给一种不是那么好的方法,但是理解可能简单一点,也更类似WINFORM。

你是要纵向排列的, 那么容器 可以使用<StackPanel> 

你的控件是读取数据来动态添加的, 所以你应该有一个数据集合, 里面包含控件的名称、显示的文本、控件的类型,以及长宽高这些东西。

所以你要做的,其实就是向容器中添加控件了。

xmal:

<StackPanel width = 500 height = 800 Name="Container"> 
     <!--长500高800的容器-->
</StackPanel>

C#

private IList<T> Source{set;get;} //Source是你的数据集合 里面包含每个控件的信息
foreach(var c in Source) 
{
    var control = new UserControl();  //初始化一个新的用户控件,
    control.Type = typeof(c.Type );
   //c.Type 是你的集合中的字段,必须指明是button或者是textbox 还是什么类型的控件。
    control.Width = ***; control.Height = ***; control.Text = xx; //去给控件的属性赋值,
    Container.Children.Add(control) ; //容器中加入这个新的控件。
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式