动态地将行/列添加到网格中

WAQ*_*WAQ 14 wpf grid xaml user-controls dynamic

我有一个孩子,UserControl包括多个文本框,标签,图像等.我需要在具有网格的父用户控件中填充此用户控件.

需要在父用户控件中填充的子用户控件的数量在运行时确定,并且可以更改.基本上,数量取决于搜索结果.所以它可以从0到n.

如何在父控件中填充我的子用户控件?或者是否有更好的替代方法来使用网格控件?

注意:我必须在我的ViewModel中执行此操作.

Viv*_*Viv 17

要获得动态Grid大小(列/行计数),您可以使用帮助器,例如@Rachel的WPF Grid的行/列计数属性

在您的情况下,这取决于您在大多数简单情况下尝试实现的内容,基于上下文,当有如下要求时:

需要在父用户控件中填充的子用户控件的数量在运行时确定,并且可以更改.基本上,数量取决于搜索结果.所以它可以从0到n.

我更喜欢使用ItemsControl(示例).使用ItemTemplate链接到你的孩子UserControl的.如果需要,您还可以根据需要调整ItemsPanel以控制布局.

  • 我知道它的回答但要帮助其他人,请检查 http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(v=vs.90).aspx#feedback (2认同)