我有一个UserControl(UserControlA)可以容纳多个其他UserControls(UserControlB),但我希望该数字是动态的。
当前,UserControlA的XAML如下所示:
UserControlA.xaml
<UserControl ...>
<StackPanel>
<local:UserControlB />
<local:UserControlB />
<local:UserControlB />
</StackPanel>
</UserControl>
然后按预期方式在MainWindow.xaml中显示UserControlA:
MainWindow.xaml
<Window ...>
<Grid>
<controls:UserControlA />
</Grid>
</Window>
但是,我希望不再只是被3个UserControlB所困扰,而是希望该数字根据传递给它的对象而动态变化。像这样...
<Window ...>
<Grid>
<controls:UserControlA UserControlBs="{Binding Path=UserControlBList}" />
</Grid>
</Window>
然后,根据存在的UserControlB,创建UserControlB并填充UserControlA。
有什么好的例子吗?
谢谢!
答案 0 :(得分:-2)
“列表视图”-是您要寻找的。.
在userControlA内部而不是stackpanel中,使用“ ListView”。 将ControlBList绑定到Listview的Itemsource(这将基于listview itemsource中的总项目填充controlB的数量)。
在列表视图的ItemTemplate中放入一个单个ControlB。