WPF中,如果控件数量不定,怎样使用XAML?通过循环?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF中,如果控件数量不定,怎样使用XAML?通过循环?相关的知识,希望对你有一定的参考价值。
如果控件数量不定的话,那就是动态加载并显示啦。最好在后台添加。当然如果你指的是DataGrid,listbox这种ItemsControl的Items数目不确定那就另当别论了。追问我这里是有一个Canvas,Canvas里面有N个(就是数量不定)Line,这些Line的数据来源由Canvas绑定数据。这个能否实现?
追答懂你意思,比如Canvas的dataContext绑定了一个集合,然后根据集合去生成canvas里面的Line。我没理解错吧?!如果只是单纯的在Canvas里放Lines的话,还只能是在后台做。在canvas的loaded函数里遍历Canvas的datacontext获得lines数据集合,然后再动态生成line.
追问这个我试试,确实不行的话,就直接用后台代码产生。谢谢啦
参考技术A 前台没办法做到控件数不定, 只能通过后台操作。后台中可能定义一个集合进行操作。例如List<Button> btns = new List<Button>;
看你什么时候要可以什么时候给它Add一下。追问
我这里是有一个Canvas,Canvas里面有N个(就是数量不定)Line,这些Line的数据来源由Canvas绑定数据。这个能否实现?
参考技术B 绑定observerblecollection,使用datatemplate.追问能有具体示例代码么?
参考技术C 比如你在vm定义一个command,然后在view层使用了这个command,那么这个command的parameter就可以指向view层里的控件埃控件作为parameter传进vm层的command里做逻辑处理。以上是关于WPF中,如果控件数量不定,怎样使用XAML?通过循环?的主要内容,如果未能解决你的问题,请参考以下文章
WPF高手么,怎样在XAML中动态加载Rectangle控件,要能运行的啊!
您如何在 WPF 中动态(通过代码)添加在 XAML 中制作的自定义控件?